Hey guys,
im trying to follow the example from http://demos.telerik.com/aspnet-ajax/grid/examples/data-editing/batch-editing/defaultcs.aspx but i am unable to follow. I removed the datasource part becuase im not having the demo database installed and tried to use some static data instead but it seems like somehow neither my events nor the ajax stuff is fired. Anyone
Codebehind:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using Telerik.Web.UI;namespace WebApplication2{ public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { DataTable dt = new DataTable(); DataColumn dc1 = new DataColumn(); dc1.ColumnName = "ProductID"; dc1.Caption = "ProductID"; dc1.DataType = typeof(int); dt.Columns.Add(dc1); DataColumn dc2 = new DataColumn(); dc2.ColumnName = "ProductName"; dc2.Caption = "ProductName"; dc2.DataType = typeof(string); dt.Columns.Add(dc2); DataColumn dc3 = new DataColumn(); dc3.ColumnName = "CategoryID"; dc3.Caption = "CategoryID"; dc3.DataType = typeof(int); dt.Columns.Add(dc3); DataColumn dc4 = new DataColumn(); dc4.ColumnName = "CategoryName"; dc4.Caption = "CategoryName"; dc4.DataType = typeof(string); dt.Columns.Add(dc4); DataColumn dc5 = new DataColumn(); dc5.ColumnName = "UnitPrice"; dc5.Caption = "UnitPrice"; dc5.DataType = typeof(decimal); dt.Columns.Add(dc5); DataColumn dc6 = new DataColumn(); dc6.ColumnName = "Discontinued"; dc6.Caption = "Discontinued"; dc6.DataType = typeof(bool); dt.Columns.Add(dc6); DataColumn dc7 = new DataColumn(); dc7.ColumnName = "UnitsInStock"; dc7.Caption = "UnitsInStock"; dc7.DataType = typeof(int); dt.Columns.Add(dc7); dt.Rows.Add(1, "name", 1, "cname", 20, false, 20); RadGrid1.DataSource = dt; } protected void RadGrid1_BatchEditCommand(object sender, Telerik.Web.UI.GridBatchEditingEventArgs e) { SavedChangesList.Visible = true; } protected void RadGrid1_ItemUpdated(object source, Telerik.Web.UI.GridUpdatedEventArgs e) { GridEditableItem item = (GridEditableItem)e.Item; String id = item.GetDataKeyValue("ProductID").ToString(); if (e.Exception != null) { e.KeepInEditMode = true; e.ExceptionHandled = true; NotifyUser("Product with ID " + id + " cannot be updated. Reason: " + e.Exception.Message); } else { NotifyUser("Product with ID " + id + " is updated!"); } } protected void RadGrid1_ItemInserted(object source, GridInsertedEventArgs e) { if (e.Exception != null) { e.ExceptionHandled = true; NotifyUser("Product cannot be inserted. Reason: " + e.Exception.Message); } else { NotifyUser("New product is inserted!"); } } protected void RadGrid1_ItemDeleted(object source, GridDeletedEventArgs e) { GridDataItem dataItem = (GridDataItem)e.Item; String id = dataItem.GetDataKeyValue("ProductID").ToString(); if (e.Exception != null) { e.ExceptionHandled = true; NotifyUser("Product with ID " + id + " cannot be deleted. Reason: " + e.Exception.Message); } else { NotifyUser("Product with ID " + id + " is deleted!"); } } protected void RadGrid1_PreRender(object sender, EventArgs e) { //RadNumericTextBox unitsNumericTextBox = (RadGrid1.MasterTableView.GetBatchColumnEditor("UnitsInStock") as GridNumericColumnEditor).NumericTextBox; //unitsNumericTextBox.Width = Unit.Pixel(60); } private void NotifyUser(string message) { RadListBoxItem commandListItem = new RadListBoxItem(); commandListItem.Text = message; SavedChangesList.Items.Add(commandListItem); } }}Markup:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %><%@ Register Assembly="Telerik.Web.UI, Culture=neutral, PublicKeyToken=121fae78165ba3d4" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns='http://www.w3.org/1999/xhtml'><head id="Head1" runat="server"> <title>Telerik ASP.NET Example</title> </head><body> <form id="form1" runat="server"> <telerik:RadScriptManager runat="server" ID="RadScriptManager1" /> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> <telerik:AjaxUpdatedControl ControlID="SavedChangesList" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel runat="server" ID="RadAjaxLoadingPanel1"> </telerik:RadAjaxLoadingPanel> <div id="demo" class="demo-container no-bg"> <telerik:RadListBox runat="server" ID="SavedChangesList" Width="600px" Height="200px" Visible="false"> </telerik:RadListBox> <telerik:RadGrid ID="RadGrid1" GridLines="None" runat="server" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" PageSize="10" OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted" OnItemUpdated="RadGrid1_ItemUpdated" OnPreRender="RadGrid1_PreRender" AllowAutomaticUpdates="True" AllowPaging="True" AutoGenerateColumns="False" OnBatchEditCommand="RadGrid1_BatchEditCommand"> <MasterTableView CommandItemDisplay="TopAndBottom" DataKeyNames="ProductID" 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" Display="Dynamic"> </RequiredFieldValidator> </ColumnValidationSettings> </telerik:GridBoundColumn> <telerik:GridNumericColumn DataField="UnitsInStock" HeaderStyle-Width="80px" HeaderText="Units In Stock" SortExpression="UnitsInStock" UniqueName="UnitsInStock"> </telerik:GridNumericColumn> <telerik:GridCheckBoxColumn DataField="Discontinued" HeaderStyle-Width="80px" HeaderText="Discontinued" SortExpression="Discontinued" UniqueName="Discontinued"> </telerik:GridCheckBoxColumn> <telerik:GridTemplateColumn HeaderText="UnitPrice" 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" Display="Dynamic"> </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> <ClientSettings AllowKeyboardNavigation="true"> </ClientSettings> </telerik:RadGrid> </div> </form></body></html>