Rank: Member Groups: Member
Joined: 11/15/2011 Posts: 24
|
Hi,
I'm trying to build a detail editor for an EO Grid. The grid has FullRowMode = False, since I want to handle all data client-side. Each grid item has some detail data in hidden columns (json) which I want to edit using a popup (EO Dialog) detail grid. The detail grid may show 0, 1 or more items, depending on the hidden json data. Also, the detail grid allows to edit, add or delete items.
Starting from main grid item, how do I populate the detail grid, still remaining client-side (no postbacks)? I was figuring out to add items using grid.addItem Javascript method but it's not so straightforward to me. In fact, first I have to "clean" previously added items. I tried using deleteItem, but I discovered they're still kept (they are "marked as deleted and not removed from the Grid's items collection"). This makes impossible to distinguish "real" deleted items from "previous" items. Is there any "clear" or "empty" method for grid's items collection?
Thanks
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,200
|
Hi, The easiest way for you to do this would be putting the detail grid inside an AJAX panel (either our CallbackPanel or ASP.NET UpdatePanel) and then trigger an AJAX update whenever needed. That way you will be able to update the entire Grid every time from server side code without a full post back. You can also rely on addItem and deleteItem from the client side. But as you have already noticed, when an item is deleted on the client side, they are not really deleted. You can use this method on the client side to determine whether an item is deleted: http://doc.essentialobjects.com/library/1/jsdoc.public.griditem.isdeleted.aspxWhen you use it this way, the deleted items will accumulate until a post back occurs, which can cause other problems if you have a lot items need to be "refreshed" and the page does not post back for a long time. In that case it may make more sense for you to rely on AJAX update. Thanks!
|
Rank: Member Groups: Member
Joined: 11/15/2011 Posts: 24
|
Sure enough, your suggestion fits pretty well to what I ended up doing.
I didn't even need for any AJAX panel: I used Callback running mode together with goToPage Javascript method! "Temporary" json data to edit in detail grid are then passed back to the server using a hidden input. Finally, in the the PageIndexChanged server event the detail grid is bound to decoded json data. And it works! Thanks.
Cheers
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,200
|
Oh. Yes. The Grid does have a built-in Callback mode. That should work well for your situation. Sorry that we forgot that!
|