Datagrid Editcommand for only record on second page not working
Step 1: In my datagrid, if I click on the only row on the second page, it takes me to the first record on the first page.
Step 2: If I add a second row to the second page, then click "Edit" on the top / first record on the second page, I can now edit that record that I couldn't edit in Step 1.
Here's the Editcommand code:
DataGrid1.EditItemIndex = e.Item.ItemIndex
SqlDataAdapter1.Fill(Dssqla1, "Resource Table")
SqlDataAdapter2.Fill(Dssqlb1, "Resource Table - Combo Codes")
Things I'm looking at are:
1. The original datagrid on the EditCommand event simply populated dropdownlists in several of the fields in the datagrid. This worked fine, but the width allotment wasn't enough. These ddls were small and difficult for users to read.
2. The new datagrid had the EditItem template changed and all three dropdownlists were placed in the same column to allow for the dropdownlists to have enough width and ample font size. It made the datagrid better from a UI perspective.
I can't see anything different in the datagrid EditCommand in either version of the code. The ItemDataBound routine is the same too.
I can look at the record in question (only record on second page) and paste the following data in a label of:
lblItemIndex.Text = e.Item.ItemIndex.ToString() lblItemIndex &= " " & DataGrid1.CurrentPageIndex
lblItemIndex.Text &= " " & e.Item.Cells(15).Text.toString()
...this label shows that I'm in fact clicking on that only record on the second page, but still the Datagrid goes to the first record on the first page. If I add another record, so now the second page has two records, I can then edit this particular record on the second page.
Not too sure what's happening....
Thanks for the response.
The crazy thing is this page / datagrid is the same as before, but I've just changed the EditItem template. The previous page / datagrid works fine with the same code, the only difference is that I hide some unneeded columns with this new page, and place all the ddls in the same column to allow for more width and a larger font size.
I can see the correct primary key, page index, and selected item in a label, so I know which one I clicked. I don't understand why adding another record to the second page causes everything to work correctly.
Turn ASP.NET controls into AJAX-enabled controls
I created a control that works like an AJAX container. Basically the way it works is that all the ASP.NET controls that you place inside of the AJAX container will automatically become AJAX enabled.
For example, if you need to create a web form with three dropdownlists and you want the picked value of one DDL affects the items in the others DDLs (like in an auto dealer website) all you need to do is make sure you move these three dropdownlists into this AJAX container control. The way you code and setup the three dropdownlists remains exactly the same. The container control injects the necessary AJAX functions.
I uploaded this control and posted some walkthrough tutorials at http://www.KYNOU.com
Check it out!