How do I add row data directly to a DataGrid Class?
-
How do I add row data directly to a DataGrid Class? I am using a free opensource class from a company that I will not name (even if it is RadiantQ) that I like a lot. It has this cool MuttiColumnTreeList control that is a combination of a tree control and a datagrid. It comes with an example code that you can look at and everything. It is pretty cool. It is inherited from the DataGrid class. The problem is that I am kind of new to databinding on this level and so I would like to just go ahead and write some code that forces the data that I have gathered from another class into the control. So I looked online for how to do that for a DataGrid class and the information is not easily available. Can anyone help?
-
How do I add row data directly to a DataGrid Class? I am using a free opensource class from a company that I will not name (even if it is RadiantQ) that I like a lot. It has this cool MuttiColumnTreeList control that is a combination of a tree control and a datagrid. It comes with an example code that you can look at and everything. It is pretty cool. It is inherited from the DataGrid class. The problem is that I am kind of new to databinding on this level and so I would like to just go ahead and write some code that forces the data that I have gathered from another class into the control. So I looked online for how to do that for a DataGrid class and the information is not easily available. Can anyone help?
Which DataGrid? Are you talking about the XAML based version? If so, please take your questions to the Silverlight/WPF forum as they are more appropriate there.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
How do I add row data directly to a DataGrid Class? I am using a free opensource class from a company that I will not name (even if it is RadiantQ) that I like a lot. It has this cool MuttiColumnTreeList control that is a combination of a tree control and a datagrid. It comes with an example code that you can look at and everything. It is pretty cool. It is inherited from the DataGrid class. The problem is that I am kind of new to databinding on this level and so I would like to just go ahead and write some code that forces the data that I have gathered from another class into the control. So I looked online for how to do that for a DataGrid class and the information is not easily available. Can anyone help?
Well first Which Datagrid are you referring to? you can try this in the "Click Event" for your binding. //Note this Will work if you are using Microsoft Enterprise Library //else, look at the Code and try to Convert it to one Using ADO //new DAL SUNIG dal = new SUNIG(); string msg = ""; //declare a new dataset DataSet ds = new DataSet(); //pass the data to to the dal, and fetch the data you want to Bind to the Grid. /*Note: your Stored Procedure Must have to Fetch all the Data from the Table you want to Bind with/without a criteria eg: ds = dal.fetchYOURDATA(ref msg); // do your Validation and Exception CHecking //eg if (msg != "") { MessageBox.Show("Put your Exception Message Here" + msg); return } //do your databinding here DataGridView1.Dataset = ds; DataGridview1.DataBind(); Hope it Helps!! :)
-
Well first Which Datagrid are you referring to? you can try this in the "Click Event" for your binding. //Note this Will work if you are using Microsoft Enterprise Library //else, look at the Code and try to Convert it to one Using ADO //new DAL SUNIG dal = new SUNIG(); string msg = ""; //declare a new dataset DataSet ds = new DataSet(); //pass the data to to the dal, and fetch the data you want to Bind to the Grid. /*Note: your Stored Procedure Must have to Fetch all the Data from the Table you want to Bind with/without a criteria eg: ds = dal.fetchYOURDATA(ref msg); // do your Validation and Exception CHecking //eg if (msg != "") { MessageBox.Show("Put your Exception Message Here" + msg); return } //do your databinding here DataGridView1.Dataset = ds; DataGridview1.DataBind(); Hope it Helps!! :)
It seems that once the databinding is done, and if you change the data you have to rebind to the control. This is what was giving me difficulty before. So what I have to do is run some command like this: this.mutlicoolgridview.ItemsSource = null; this.mutlicoolgridview.ItemsSource = SampleData.GetSampleDataNew(); The problem I am having now is this. After running his command about one thousand times, I actually run out of memory. I think that doing this: this.mutlicoolgridview.ItemsSource = null; is not such a good idea. Is there a better command to do to free up the memory?
-
Which DataGrid? Are you talking about the XAML based version? If so, please take your questions to the Silverlight/WPF forum as they are more appropriate there.
Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
It seems that once the databinding is done, and if you change the data you have to rebind to the control. This is what was giving me difficulty before. So what I have to do is run some command like this: this.mutlicoolgridview.ItemsSource = null; this.mutlicoolgridview.ItemsSource = SampleData.GetSampleDataNew(); The problem I am having now is this. After running his command about one thousand times, I actually run out of memory. I think that doing this: this.mutlicoolgridview.ItemsSource = null; is not such a good idea. Is there a better command to do to free up the memory?
-
It seems that once the databinding is done, and if you change the data you have to rebind to the control. This is what was giving me difficulty before. So what I have to do is run some command like this: this.mutlicoolgridview.ItemsSource = null; this.mutlicoolgridview.ItemsSource = SampleData.GetSampleDataNew(); The problem I am having now is this. After running his command about one thousand times, I actually run out of memory. I think that doing this: this.mutlicoolgridview.ItemsSource = null; is not such a good idea. Is there a better command to do to free up the memory?
Xarzu wrote:
It seems that once the databinding is done, and if you change the data you have to rebind to the control.
No you don't. You're doing it wrong. With XAML binding, you bind to a collection that implements
ICollectionChanged
(such as anObservableCollection
), then you update the original collection - you don't create a new one, you don't rebind to it.Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
Xarzu wrote:
It seems that once the databinding is done, and if you change the data you have to rebind to the control.
No you don't. You're doing it wrong. With XAML binding, you bind to a collection that implements
ICollectionChanged
(such as anObservableCollection
), then you update the original collection - you don't create a new one, you don't rebind to it.Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility
-
Thank you, Pete. I will change and test my code. Is there some way I can force a ICollectionChanged message?
If you're using an
ObservableCollection
, you don't have to. It raises theCollectionChanged
events for you when you add or remove items.Forgive your enemies - it messes with their heads
"Mind bleach! Send me mind bleach!" - Nagy Vilmos
My blog | My articles | MoXAML PowerToys | Mole 2010 - debugging made easier - my favourite utility