Hi,
I'm using UltraConrolContainerEditor.
I want to assign values of child band to nested grid, so each row will display related child band in the cell row.
I added unbound column to parent grid and set the data type of the column to IList.
I've tried to assign the values of the child band to the cell.
However I'm having problem with picking those values by nested grids. (have two grids for rendering and editing control)
Can I get some example on that?
Thanks,
s
Thank you for your reply.
If that approach would affect the performance badly I would prefer to achieve it in different way. (as I do care for performance)
I mentioned the EditingControl as I want to have in those two grids the button which user could click to access another form.
Would then be better if I display a child band columns and rows in a cell as it was describe in this thread: http://ko.infragistics.com/community/forums/p/16488/397151.aspx#397151
However I'm not that clear how to populate multi-rows of child band into the cell of the parent grid.
Regards,
What you are trying to do here is not a simple thing, and there are a number of challenges you will need to overcome.
First off, the ControlContainerEditor needs to deal with a single value. The WinGrid is not really designed to deal with a single value - it deals with a data source that can have many values in many rows and columns. In this case, the only thing that makes sense would be for the to use the grid's DataSource. So you need a grid column where the value of every cell is some object that is suitable as the DataSource for child grid.
There is no such object that exists in the parent grid. So you would need to somehow generate a DataTable or a BindingList<T> that contains the child data.
The second challenge you will have is updating. You mentioned that you are assigning both an EditingControl and a RenderingControl and they are both grids. So does that mean you want the user to be able to edit the child grid data? If so, it's not going to work automatically, because the ControlContainerEditor will be looking for an event that fires when the property on the EditingControl changes. In this case, that property is the DataSource, and the grid does not fire any kind of DataSourceChanged event when you edit a cell within the grid. So you will need to handle these notifications yourself in order to tell the parent grid that something has changed.
Anyway, if this is something you want to pursue, I could probably help you work through these issues, but just be aware that this is not a trivial undertaking. And even if you can get all of this to work, performance might be a problem. In order to render a cell that is not in edit mode, the ControlContainerEditor has to set the property (DataSource in this case) on the RenderingControl and then paint that control into the cell. This happens often - every time the cell paints. So every time you scroll the parent grid or move the mouse over the child grid cell, you will be assigning and a new datasource to the RenderingControl grid many many times. Even with a very small set of data in the child grid, this will be extremely performance-intensive.
Thank you very much for your reply.
What I am looking for is to display the child band inside the cell of the parent grid.
I want to achieve that by using UltraControlContainerEditor.
I have a parent grid and two other grids that I assign to UCCEditor as an editing and rendering controls.
Each row of my parent grid have a child band with different values and different number of rows.
So I want to get the child band values and assign it as a DataSource to those two grids.
Any help will be appreciated.
Thank you,
I will be happy to asist you with your inquiry.
I am not sure what you mean by "assigning values of child band to nested grid". May I ask if you can provide me with additional details, including a screenshot, of what you are looking to accomplish with the UltraGrid?
I am looking forward to hearing from you.