Good Morning,
When a gridcontrol's view is set to the new tile view and bound to a typed dataset, adding rows to the data in the dataset doesn't refresh the tiles - if a seconds datagrid is added to the same form, bound to the same dataset but left as a gridview it does refresh correctly so I know the issue isn't with the datasource. I can only think its a tile view issue?
I've tried explicitly calling gridcontrol.refreshdatasource and baseview.refreshdata (CustomDocument754), this made no difference.
If I add a breakpoint and query the number of rows in the datatable it shows all rows, including new ones, are present and if I query tileview1.rowcount it also agrees with the new row count, but the number of tiles displayed in the UI is less that both of these.
The only way I can currently refresh the tile ui is to close the form and reopen it, this is consistent behaviour across two unrelated projects.
Does the tile view need a specific call to refresh it? Any help would be appreciated.
EDIT:
Thanks for the sample project, it does work but its not a solution to my problem - in the sample you insert a row into the client-side datatable. This does refresh the tileview. However, if the under lying data in the database changes and you call tableadapter.fill this does not refresh the tile view.
As mentioned in my original question the datasource and bindings are proven by having a second grid on the same form that does refresh on .fill, the only difference is gridview verses tileview
In a multi-user environment I need to call .fill on a timer and refresh the UI based on database updates from other users, this fails in tileview but works in gridview - the same control, just a different view.
Also mentioned above is the use a breakpoint to prove the datasource contains the new records, and more strangely, tileview.itemcount (rowcount?) also contains the extra records but doesn't show them in the UI.
Hope this explains the error more clearly.
Hi,
If your data source supports the IBindingList interface, a grid should be automatically notified of changes that occur at the data source level. I created a sample where I use TileView with DataTable and add a new row by clicking a button. A new row is shown as a new tile in the grid. Refer to the attached project and compare it with yours. If that does not help you, modify my sample to illustrate the issue.
I look forward to your results.
Thanks for the sample project, it does work but its not a solution to my problem - in the sample you insert a row into the client-side datatable. This does refresh the tileview. However, if the under lying data in the database changes and you call tableadapter.fill this does not refresh the tile view.
As mentioned in my original question the datasource and bindings are proven by having a second grid on the same form that does refresh on .fill, the only difference is gridview verses tileview
In a multi-user environment I need to call .fill on a timer and refresh the UI based on database updates from other users, this fails in tileview but works in gridview - the same control, just a different view.
Also mentioned above is the use a breakpoint to prove the datasource contains the new records, and more strangely, tileview.itemcount (rowcount?) also contains the extra records but doesn't show them in the UI.
Hello,
I have reproduced the issue the Tile view is not updated when data is changed in a data source.
I have forwarded this ticket to our R&D team. We will research it and update this ticket as soon as we obtain any additional information.
hello, i've 15.2.4 trial version, but still same issue, when change gridcontrl.datasource the tileview no refresh correctly
Hello,
I tried to reproduce this behavior, but my attempt was unsuccessful. I have attached a simple project demonstrating this.
Please modify this project so that it illustrates the issue and send it back to us.
I am looking forward to your reply.
Having the same issue in 15.2.4. Like the original poster, the issue shows when the data is modified external to the application, so the sample project doesn't really seem to fit. However, I have a few additional items to add.
First, in my effort to troubleshoot, I added a Debug.WriteLine call in the code for my refresh button to output the dataset's value for the first tile. With that code, present, pressing the refresh button caused the first tile to update, but no others. Taking the debug line back out returns to no tile updates.
Second, I have hacked my way around the issue by setting the GridControl's DataSource to null and then back to the original source .
Updated to 15.2.7, and the issue now seems to be resolved.
Ok Eldon. Thank you for keeping us informed.
Hello supporters,
I am currently experiencing the above phenomenon.
My version is '18.1.6'
The only difference is that my datasource is a List Type…
please check…
Hello,
I've created a separate ticket on your behalf (T747164: TileView is not refreshed when data is changed). It has been placed in our processing queue and will be answered shortly.