I want to bind an UltraGrid to a generic list of strings using List<string> (c# generic class).
I've set up a BindingSource.DataSource to my List<string> object, but when I hook it up and run my program, the UltraGrid shows a single column bound to the Length property showing the Lengths of my strings instead of showing me the actual list of string data.
If I set a System.Windows.Forms.Listbox or ComboBox to use the same BindingSource, I get the expected list of strings shown.
Why can't an UltraGrid do the same thing? I couldn't find any help on this seemingly simple thing.
Do you have the lates Hot Fix? I'm pretty sure this was fixed.
Mike Saltzman"] Do you have the lates Hot Fix? I'm pretty sure this was fixed.
I'm using NetAdvantage 2008 Vol1 which was just released 2/19. Not even two weeks ago.
There's hotfixes already? I just looked around on my downloads page and there aren't any hotfixes listed for 2008 Vol 1.
You're right, i've just checked, and it seems a BindingSource issue, our grid is binding thru a binding source 99% of the time, so it looks like it was a problem related to the grid but it looks more related to the bindingsource, since the grid is retrieving it's properties thru this component!
Well this solved this case then, thanks alot! Sorry for loosing your time, we should have test that before even hitting this site!
Hi,
The BindingSource should not make any difference. If simply using a BindingSource is causing the grid not to pick up the correct fields for a list, then that would be a bug in the grid.
I tried this out with a BindingSource and it still works fine for me, though.
private void Form1_Load(object sender, EventArgs e) { //List<int> list = new List<int>(); MyList list = new MyList(); list.Add(1); list.Add(2); list.Add(3); BindingSource bindingSource = new BindingSource(list, null); this.ultraGrid1.DataSource = bindingSource; } public class MyList : List<int> { }
Could you please tell how to bind if there are more than one band in the grid. I want to bind the grid with separate typed lists for each band. I am trying different ways but unable to bind the grid correctly.
Any help is greatly appreciated!
Thank you,
Bhargavi R.
Hi Bhargavi,
You can't bind each band in the grid individually. You have to create a DataSource, such as a DataSet or UltraDataSource that has a hierarchical structure of data. If you are using a DataSet, which is probably the most common data source, then you need to defined RelationShips between the tables. I'm sure Microsoft has documentation on creating hierarchical data relationships with a DataSet.
Here's a bunch of KB articles to get you started:
HOWTO:Bind to hierarchical data source using Northwind Part 1
HOWTO:Bind UltraWinGrid to program generated hierarchical data Part 1
HOWTO:Bind UltraWinGrid to a DataSet
Hi Mike,
Thanks a lot for the quick response. I tried to bind the grid with UltraWinDataSource correctly using ILists for the childbands. Thanks for your help!
-Bhargavi R.