Client side radgrid updateItem() works absolutely inconsistently. It fires always server update only if I put debugger inside javascript otherwise it may or may not update record. Is that a bug in radgrid?
I have grid with last column template. Idea was to have an Excel like grid - on tab out from last column udate current record and edit next one.
here is javascript:
I have grid with last column template. Idea was to have an Excel like grid - on tab out from last column udate current record and edit next one.
<telerik:GridTemplateColumn UniqueName="COSTTOCOMPLETE" HeaderText="Cost to Complete"> <ItemTemplate> <telerik:RadNumericTextBox ID="costToComp" runat="server" Text = '<%# Eval("COSTTOCOMPLETE") %>' ReadOnly="true"> <NumberFormat DecimalDigits="0" /> </telerik:RadNumericTextBox> </ItemTemplate> <EditItemTemplate> <telerik:RadNumericTextBox ID="costToComp" runat="server" Text = '<%# Bind("COSTTOCOMPLETE") %>'> <NumberFormat DecimalDigits="0" /> <ClientEvents OnBlur="costToComp" /> </telerik:RadNumericTextBox> </EditItemTemplate> <InsertItemTemplate> <telerik:RadNumericTextBox ID="costToComp" runat="server" Text = '<%# Bind("COSTTOCOMPLETE") %>'> <NumberFormat DecimalDigits="0" /> <ClientEvents OnBlur="costToComp" /> </telerik:RadNumericTextBox> </InsertItemTemplate> </telerik:GridTemplateColumn> here is javascript:
function costToComp(sender, args) { var grid = $find('<%= rg_OpenWIP.ClientID %>'); var idx = grid._editIndexes[0]; if (idx != null) { $find(grid.MasterTableView.get_id()).updateItem(parseInt(idx)); var items = grid.get_masterTableView().get_dataItems(); if ((items.length - 1) != idx) { $find(grid.get_masterTableView().get_id()).editItem(parseInt(idx) + 1);//works always } } else { $find(grid.MasterTableView.get_id()).insertItem(); } };