When Use two Grid in 1 Page There are GridTemplateColumn EditItemTemplate in both grid
EditMode="Batch" & save by function saveTableChanges
- TemplateColumn not work
- GridBoundColumn it Work
- ColumnEditor it Work
- 1 Grid on 1 Page GridBoundColumn it Work
<head> <title>Test</title> <script type="text/javascript"> function SaveAllChanges(sender, args) { var b = $find('<%=RadGrid1.ClientID%>').get_batchEditingManager(); var tableViews = []; tableViews.push($find('<%=RadGrid1.ClientID%>').get_masterTableView()); tableViews.push($find('<%=RadGrid3.ClientID%>').get_masterTableView()); b.saveTableChanges(tableViews); } </script></head><body> <form id="Form1" runat="server"> <telerik:RadScriptManager Runat="server"></telerik:RadScriptManager> <telerik:RadButton runat="server" ID="RadButton1" Text="SaveAllChanges" AutoPostBack="false" OnClientClicked="SaveAllChanges"></telerik:RadButton> <telerik:GridNumericColumnEditor ID="NumericEditor1" runat="server"> <NumericTextBox ID="NumericTextBox1" runat="server" Width="60px" /> </telerik:GridNumericColumnEditor> <telerik:GridTextBoxColumnEditor runat="server" ID="TextEditor"> <TextBoxStyle Width="120px" /> </telerik:GridTextBoxColumnEditor> <telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="SqlDataSource3" AllowPaging="True" AllowAutomaticUpdates="True" AllowAutomaticInserts="True" AllowAutomaticDeletes="true" AllowSorting="true" PageSize="3" OnBatchEditCommand="RadGrid1_BatchEditCommand"> <PagerStyle Mode="NextPrevAndNumeric" /> <MasterTableView DataSourceID="SqlDataSource3" AutoGenerateColumns="False" DataKeyNames="CustomerID" EditMode="Batch" CommandItemDisplay="Top"> <Columns> <telerik:GridBoundColumn DataField="CustomerID" HeaderText="CustomerID" SortExpression="CustomerID" UniqueName="CustomerID"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="ContactName" HeaderStyle-Width="180px" UniqueName="ContactName" > <ItemTemplate> <%# Eval("ContactName") %> </ItemTemplate> <EditItemTemplate> <asp:TextBox ID="TextBox1" Text='<%# Bind("ContactName") %>' runat="server"></asp:TextBox> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="CompanyName" HeaderText="CompanyName" SortExpression="CompanyName" UniqueName="CompanyName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="ContactTitle" HeaderText="ContactTitle" SortExpression="ContactTitle" UniqueName="ContactTitle"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Phone" HeaderStyle-Width="135px" HeaderText="Quantity Per Unit" SortExpression="" ColumnEditorID="TextEditor" UniqueName="QuantityPerUnit"> </telerik:GridBoundColumn> <telerik:GridButtonColumn Text="Delete" CommandName="Delete" ButtonType="ImageButton" /> </Columns> </MasterTableView> </telerik:RadGrid> <!--Grid2------------> <telerik:RadGrid ID="RadGrid3" GridLines="None" runat="server" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" PageSize="3" Skin="Default" AllowAutomaticUpdates="True" AllowPaging="True" AutoGenerateColumns="False" Width="750px" OnBatchEditCommand="RadGrid3_BatchEditCommand" DataSourceID="SqlDataSource1"> <MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="ProductID" DataSourceID="SqlDataSource1" HorizontalAlign="NotSet" EditMode="Batch" AutoGenerateColumns="False"> <BatchEditingSettings EditType="Cell" /> <SortExpressions> <telerik:GridSortExpression FieldName="ProductID" SortOrder="Descending" /> </SortExpressions> <Columns> <telerik:GridBoundColumn DataField="ProductName" HeaderStyle-Width="210px" HeaderText="ProductName" SortExpression="ProductName" UniqueName="ProductName"> <ColumnValidationSettings EnableRequiredFieldValidation="true"> <RequiredFieldValidator ForeColor="Red" Text="*This field is required"> </RequiredFieldValidator> </ColumnValidationSettings> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="Category" HeaderStyle-Width="180px" UniqueName="CategoryID" DataField="CategoryID"> <ItemTemplate> <%# Eval("CategoryName") %> </ItemTemplate> <EditItemTemplate> <telerik:RadDropDownList runat="server" ID="CategoryIDDropDown" DataValueField="CategoryID" DataTextField="CategoryName" DataSourceID="SqlDataSource2"> </telerik:RadDropDownList> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridNumericColumn DataField="UnitsInStock" HeaderStyle-Width="80px" ColumnEditorID="NumericEditor1" HeaderText="Units In Stock" SortExpression="UnitsInStock" UniqueName="UnitsInStock"> </telerik:GridNumericColumn> <telerik:GridBoundColumn DataField="QuantityPerUnit" HeaderStyle-Width="135px" HeaderText="Quantity Per Unit" SortExpression="QuantityPerUnit" ColumnEditorID="TextEditor" UniqueName="QuantityPerUnit"> </telerik:GridBoundColumn> <telerik:GridCheckBoxColumn DataField="Discontinued" HeaderStyle-Width="80px" HeaderText="Discontinued" SortExpression="Discontinued" UniqueName="Discontinued"> </telerik:GridCheckBoxColumn> <telerik:GridTemplateColumn HeaderText="UnitPrice" ColumnEditorID="NumericEditor1" HeaderStyle-Width="80px" SortExpression="UnitPrice" UniqueName="TemplateColumn" DataField="UnitPrice"> <ItemTemplate> <asp:Label runat="server" ID="lblUnitPrice" Text='<%# Eval("UnitPrice", "{0:C}") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <span> <telerik:RadNumericTextBox Width="55px" runat="server" ID="tbUnitPrice"> </telerik:RadNumericTextBox> <span style="color: Red"> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="tbUnitPrice" ErrorMessage="*Required" runat="server"> </asp:RequiredFieldValidator> </span> </span> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridButtonColumn ConfirmText="Delete this product?" ConfirmDialogType="RadWindow" ConfirmTitle="Delete" HeaderText="Delete" HeaderStyle-Width="50px" ButtonType="ImageButton" CommandName="Delete" Text="Delete" UniqueName="DeleteColumn"> </telerik:GridButtonColumn> </Columns> </MasterTableView> </telerik:RadGrid>
