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?
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
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.
I’ve implemented my suggestion in the context of your scenario. Please run my sample and let me know if this is what you are looking for.
I am waiting for your feedback.
Hello ,
Thank you for your feedback.
Since version Infragistics volume 7.2 was expired, I suggest you to download our new Infragistics 14.1, you could download it from the following link:
http://ko.infragistics.com/products/windows-forms/
I’ve update my sample in order to demonstrate some simple usage of updating of underling data source in background thread and I hope that this will helps you.
Please let me know if you have any further questions.
Thank you for your time and interest,
The solution you have provided is using Infragistics4(14.1) references but my project is using Infragistics2 with version number (7.2.20072.61) and i cannot update it now.Can you please update the source according to my Infragistics2.It will be highly appreciated.
Secondly Child rows in my Project are updating from db in a seperate thread on each click. Can you please implement this in your project because i have to do it in seperate thread if thats possible.
Regards:
Adeel Saleem