private Customer oCustomer; private DataSet dsCustomerList; // Register the biz obj with the form this.oCustomer = (Customer)this.RegisterBizObj(new Customer()); // Get the customer list dataset and bind it to the grid this.dsCustomerList = this.oCustomer.GetdsCustomerList(); if (this.dsCustomerList.Tables[0].Rows.Count > 0) { this.grdCustomer.DataSource = dsCustomerList; this.grdCustomer.DataBind(); // You might want to set the initial index of the grid and then call the GetCustomerByNumber this.grdCustomer.SelectedIndex = 0; this.GetSpecificCustomer(cust_no_from_grid); } // when the index changes, call the private void grdCustomer_SelectedIndexChanged(object sender, EventArgs e) { this.GetSpecificCustomer(cust_no_from_grid); } // Make this a seperate method in the form so you can call it from multiple places private void GetSpecificCustomer(int custNo) { this.oCustomer.GetCustomerByNumber(custNo); }By just getting a dataset, you won't step on the entity when you retrieve it. I am sure Kevin (and I wish he would) show us how to do this using an entity list and another entity without stepping on each other. I couldn't do it, and this worked great for me anyway. And when the data is static, who cares.