I have a WebDialogWindow embedded in a WebDataGrid RowEditingTemplate that is displayed when a row on the grid is put into edit mode. The window displays a toolbar, field labels, input fields, OK and Cancel buttons, and field help panels for each field by default are hidden.
When the user clicks on the Help button on the toolbar then the field help panels are displayed and when they click the Help button again the field help panels are hidden (toggled).
My WebDialogWindow was working great until I put it in the RowEditingTemplate.
When the toolbar Help button is clicked the code behind is executed and can't FIND the asp:panels (or any RowEditingTemplate controls for that matter) in order to display/hide them.
I'm using the code behind because I found no way to automatically resize and position the WebDialogWindow on the client side so doing anything on the client side to display/hide the asp:panels is not going to help.
So my question is: How do you get references to the RowEditingTemplate controls from the code behind when the grid is editing a row?
bmoneilus
I had a similiar issue where I was unable to find a control in the edit Item template. Infragistics never helped me with it and I ended up writing my own solution. This is how I did it.
retVal.Add(
"buttonOKId", (From item As Control In ctls _
"buttonCancelId", (From item As Control In ctls _
"txtDescriptionId", (From item As Control In ctls _
Where item.ID = "txtDescription" _
retVal
Function
This gets you a mapping of the client IDs. You can then somehow loop through the collection and and write them out to the page so you can use them. I just write it to a JSON object on the page and consume it client side.
var privateLabelControls = { "webDataGridId": "ctl00_ContentPlaceHolder1_WebDataGrid1", "buttonOKId": "ctl00_ContentPlaceHolder1_WebDataGrid1_ctl00_buttonOK", "buttonCancelId": "ctl00_ContentPlaceHolder1_WebDataGrid1_ctl00_buttonCancel", "txtDescriptionId": "ctl00_ContentPlaceHolder1_WebDataGrid1_ctl00_txtDescription" };
basically as you see "_ctl00" is just added to the webdatagridId and then the control names you provided is appended as well.
Hope this gives you some ideas.
Cheers,
~ck