I am using UltrGridView to display hierarchical data in different bands (1 parent band and two child sibling bands). and on every row click i am refreshing the dataset binding by the following code
this.ugvProducts.Invoke(new SetDataBinding(SetDataBindingMethod), DataSetFinal);
i am getting this BIG RED Cross Sign on the grid now and then as most of the time application runs correctly but some time it shows CROSS and application needs to be restarted in that case.thats a big problem
1-What causes it?
2-How can i correct it?
Tnaks for your Concern
let me explain what i am dong:
On every Parent Row Click (Green Rows) , I am Updating the Child Bands Rows (Yellow Rows , White Rows) and for that i have to Assign newly computed data of child band rows related to parent . i have defined relations to Parent datables in code as follows
--------------------------------------------
DataSetFinal.Tables.Add(dtRelated.Copy());
DataSetFinal.Relations.Add("ParentChild", DataSetFinal.Tables["Prod_ProdObj"].Columns["ProdObj_ID"], DataSetFinal.Tables[1].Columns["Maping"],false); //////////////adeel new dtRelatedBand2.TableName = "tblRelatedBand2"; DataSetFinal.Tables.Add(dtRelatedBand2.Copy()); DataSetFinal.Relations.Add("ParentChildBand2", DataSetFinal.Tables["Prod_ProdObj"].Columns["ProdObj_ID"], DataSetFinal.Tables[2].Columns["Maping"], false);
-------------------------------------------------
in your reply you have suggested "update the data in the underlying data source". How can i do it
If you are talking something like "Grid.DataSource = Dataset" then i have used it also and faced the same problem on the first row click.
feel free to ask any thing regarding this issue.
Hello,
From the description of your issue, it seems that you are using DataSet as underling data source. DataSet automatically notify UltraWinGrid about the changes which are made on their tables, and also UltraGrid automatically update underling DataSet about the changes made from the customer (by default it notifies the underlying data source after the user leave the current active row). Based on this if you are using datasets with same data schema, you do not need to rebind the grid and just update the underlying data source. So could you please let me know why you need to rebind the grid using invoke (can you just update the data in the underlying data source ? ) or what exactly I am missing in your scenario.
Big red cross usually indicates cross thread issues. If you post simple sample that demonstrate this issue I will be glad to investigate this further for you.
I am waiting for your feedback