Hi,
I have an ultragrid that is bound to a binding list of objects. The object has a public property that is a list of another object.
Is there anyway for me to display that property in the grid as a column with a multi-select dropdown/combo displaying the property values.
I know the grid by default will set this public property as a child band, but can it be set to be displayed as a column with values being comma separated?
I am aware that ultragrid allows you to set the editor component of a column to an external control, but I was wondering if someone has done something like this before?
Since the grid is bound to the binding list and I'm using PetaPoco, if I can get the objects property to be bound to the column and update automatically, it will make saving the object much easier and simpler for me.
Thanks,
Karthik
Hi Karthik,
The WinGrid will always treat an IList or IBindingList property as a child band and there's no way to automatically make it display as a column.
But what you could do is hide the child band and then add an unbound column to the parent band. Then, in the InitializeRow event of the grid, you could access the child rows and build whatever string you wanted and assign the value of the unbound column to a string that represents the child data.
I'm assuming that you don't need to allow the user to edit the data in the child band. If you do, then you would have to somehow interpret the string in the unbojnd cell and then modify the child rows in code based on the new string.
Hi Mike,
Thanks for the update. I figured the best way to handle this scenario would be to only display the selected values on the grid (and not allow users to edit).
The users will be able to select the values from the multi-select combo on the template.
This seems to be working fine, except for a small issue where the first time a user makes a change to the ultracomboeditor on the template, the value is not updated on the cell in the grid.
But if I check/uncheck another item or the same item again and then click on some other cell the value gets updated correctly.
I am using an ultracomboeditor control and have bound its Text property to the row edit template column.
(DataBindings) -> Text : uretScheduleVersion - Platform_Clearance
Just checking in to see if there is any update on this? Any suggestions would be great!
Karthik Subramanian
Sorry, I didn't realize you were still waiting for a response on this. I'm not really sure what the issue is or what you are asking. It sounds like you have run into a completely new issue that has something to do with DataBinding individual controls along with the grid, but I really can't even begin to guess what the issue is without some kind of sample where I can see and Debug it.
My best guess is that something is wrong with how you are binding the control. Could be a timing issue or an issue with threading if you are using multiple thread. Or it could just be that you are binding the control too late.
I am binding the combo at design time itself. I have bound it to the template's column as highlighted in the snap shot.
Should i move the logic elsewhere? Maybe in the rowedittemplate requested event?
Design-time is probably good. But like I said, I really have no idea why you would be getting the behavior you describe. My questions are really just wild stabs in the dark. Your question doesn't even really seem to be directly related to the Infragistics controls. Do you get the same behavior if you bind a TextBox instead of UltraCombo?
Either way, I would need to see a sample project demonstrating the issue in order to be able to offer you any kijnd of meaningful assistance with this.