I am trying to implement model binding on RadGrid using SelectMethod, UpdateMethod, DeleteMethod and InsertMethod. (I have done this successfully in standard edit mode.) However, having problems when EditMode="Batch". Grid displays as expected, retrieving data through SelectMethod. However, when I try to save changes to modified rows, neither the UpdateMethod or DeleteMethod are called.
I have not been able to find a data model binding example that implements Batch Edit.
Here is my code. Is this supported? And if so, what am I missing? Thanks.
<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1">
<telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True" MasterTableView-AllowAutomaticUpdates="true"
AllowAutomaticInserts="false" PageSize="10" Skin="Default" OnItemDeleted="RadGrid1_ItemDeleted"
OnItemUpdated="RadGrid1_ItemUpdated" AllowAutomaticUpdates="True" AllowPaging="True"
AutoGenerateColumns="False" Width="750px" OnBatchEditCommand="RadGrid1_BatchEditCommand" >
<MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="BlockLeaderId" SelectMethod="GetBlockLeaders" DeleteMethod="DeleteBlockLeader" UpdateMethod="UpdateBlockLeader"
ItemType="KHOP.Model.BlockLeader" HorizontalAlign="NotSet" EditMode="Batch" AutoGenerateColumns="False">
<BatchEditingSettings EditType="Cell" />
<CommandItemSettings ShowAddNewRecordButton="false" />
<Columns>
<telerik:GridBoundColumn DataField="BlockLeaderId" HeaderStyle-Width="80px" HeaderText="Id" UniqueName="BlockLeaderId" ReadOnly="true">
<ColumnValidationSettings>
<ModelErrorMessage Text=""></ModelErrorMessage>
</ColumnValidationSettings>
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Date" HeaderStyle-Width="130px" UniqueName="BlockDate" DataField="BlockDate" ReadOnly="true">
<ItemTemplate>
<%# Item.Block.Watch.PeriodDate.EventDate.ToShortDateString() %>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Day of Week" HeaderStyle-Width="180px" UniqueName="BlockDay" DataField="BlockDay" ReadOnly="true">
<ItemTemplate>
<%# Item.Block.BlockHour.DayOfWeek.ToString() %>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Block Hours" HeaderStyle-Width="180px" UniqueName="BlockHours" DataField="BlockHours" ReadOnly="true">
<ItemTemplate>
<%# Item.Block.BlockHour.ShortName %>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Leader" HeaderStyle-Width="180px" UniqueName="LeaderId" DataField="LeaderId">
<ItemTemplate>
<%# Item.Leader.FirstName + " " + Item.Leader.LastName %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadDropDownList runat="server" ID="LeaderIDDropDown" DataValueField="LeaderId"
DataTextField="FullName" SelectMethod="GetActiveLeaders">
</telerik:RadDropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Leader Type" HeaderStyle-Width="180px" UniqueName="LeaderType" DataField="LeaderTpe">
<ItemTemplate>
<%# Eval("LeaderType") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadDropDownList runat="server" ID="LeaderTypeIdDropDown" DataValueField="LeaderTypeId"
DataTextField="LeaderType" SelectMethod="GetLeaderTypes">
</telerik:RadDropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridButtonColumn ConfirmText="Delete this block leader?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" HeaderText="Delete" HeaderStyle-Width="50px" ButtonType="ImageButton"
CommandName="Delete" Text="Delete" UniqueName="DeleteColumn">
</telerik:GridButtonColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
<telerik:GridTextBoxColumnEditor runat="server" ID="TextEditor">
<TextBoxStyle Width="120px" />
</telerik:GridTextBoxColumnEditor>
</telerik:RadAjaxPanel>
I have not been able to find a data model binding example that implements Batch Edit.
Here is my code. Is this supported? And if so, what am I missing? Thanks.
<telerik:RadAjaxPanel runat="server" ID="RadAjaxPanel1">
<telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True" MasterTableView-AllowAutomaticUpdates="true"
AllowAutomaticInserts="false" PageSize="10" Skin="Default" OnItemDeleted="RadGrid1_ItemDeleted"
OnItemUpdated="RadGrid1_ItemUpdated" AllowAutomaticUpdates="True" AllowPaging="True"
AutoGenerateColumns="False" Width="750px" OnBatchEditCommand="RadGrid1_BatchEditCommand" >
<MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="BlockLeaderId" SelectMethod="GetBlockLeaders" DeleteMethod="DeleteBlockLeader" UpdateMethod="UpdateBlockLeader"
ItemType="KHOP.Model.BlockLeader" HorizontalAlign="NotSet" EditMode="Batch" AutoGenerateColumns="False">
<BatchEditingSettings EditType="Cell" />
<CommandItemSettings ShowAddNewRecordButton="false" />
<Columns>
<telerik:GridBoundColumn DataField="BlockLeaderId" HeaderStyle-Width="80px" HeaderText="Id" UniqueName="BlockLeaderId" ReadOnly="true">
<ColumnValidationSettings>
<ModelErrorMessage Text=""></ModelErrorMessage>
</ColumnValidationSettings>
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn HeaderText="Date" HeaderStyle-Width="130px" UniqueName="BlockDate" DataField="BlockDate" ReadOnly="true">
<ItemTemplate>
<%# Item.Block.Watch.PeriodDate.EventDate.ToShortDateString() %>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Day of Week" HeaderStyle-Width="180px" UniqueName="BlockDay" DataField="BlockDay" ReadOnly="true">
<ItemTemplate>
<%# Item.Block.BlockHour.DayOfWeek.ToString() %>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Block Hours" HeaderStyle-Width="180px" UniqueName="BlockHours" DataField="BlockHours" ReadOnly="true">
<ItemTemplate>
<%# Item.Block.BlockHour.ShortName %>
</ItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Leader" HeaderStyle-Width="180px" UniqueName="LeaderId" DataField="LeaderId">
<ItemTemplate>
<%# Item.Leader.FirstName + " " + Item.Leader.LastName %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadDropDownList runat="server" ID="LeaderIDDropDown" DataValueField="LeaderId"
DataTextField="FullName" SelectMethod="GetActiveLeaders">
</telerik:RadDropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridTemplateColumn HeaderText="Leader Type" HeaderStyle-Width="180px" UniqueName="LeaderType" DataField="LeaderTpe">
<ItemTemplate>
<%# Eval("LeaderType") %>
</ItemTemplate>
<EditItemTemplate>
<telerik:RadDropDownList runat="server" ID="LeaderTypeIdDropDown" DataValueField="LeaderTypeId"
DataTextField="LeaderType" SelectMethod="GetLeaderTypes">
</telerik:RadDropDownList>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridButtonColumn ConfirmText="Delete this block leader?" ConfirmDialogType="RadWindow"
ConfirmTitle="Delete" HeaderText="Delete" HeaderStyle-Width="50px" ButtonType="ImageButton"
CommandName="Delete" Text="Delete" UniqueName="DeleteColumn">
</telerik:GridButtonColumn>
</Columns>
</MasterTableView>
</telerik:RadGrid>
<telerik:GridTextBoxColumnEditor runat="server" ID="TextEditor">
<TextBoxStyle Width="120px" />
</telerik:GridTextBoxColumnEditor>
</telerik:RadAjaxPanel>
