or
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><%@ Register Assembly="Telerik.Web.UI" 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 runat="server"> <title>Untitled Page</title></head><body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" /> <script> function onCellSelected(sender, a_args) { var v_gridItem = a_args.get_gridDataItem(); console.log(v_gridItem._element.sectionRowIndex); var selectedColumn = a_args.get_column(); var dataItem = a_args.get_gridDataItem(); var output = String.format("The selected cell is located in column with name: " + selectedColumn.get_uniqueName() + " and in row with index: " + dataItem.get_itemIndexHierarchical() + "."); console.log(output); } </script> <div> <telerik:RadGrid runat="server" ID="RadGrid1" OnNeedDataSource="RadGrid1_NeedDataSource" > <ClientSettings> <Selecting AllowRowSelect="False" EnableDragToSelectRows="false" CellSelectionMode="SingleCell" /> <ClientEvents OnCellSelected="onCellSelected"/> </ClientSettings> <MasterTableView EditMode="Batch" AutoGenerateColumns="False"> <BatchEditingSettings EditType="Cell" /> <Columns> <telerik:GridTemplateColumn UniqueName="Data" ItemStyle-BackColor="" FilterControlWidth="100px" ItemStyle-Width="100px" Resizable="false" HeaderStyle-Width="110px" DataField="Col2" HeaderText="Col0" FilterImageUrl="~/images/funnel-icon.png"> <ItemTemplate> <%# Eval("Col2")%> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="RadComboBoxData" runat="server" EnableViewState="false" IsCaseSensitive="False" DropDownAutoWidth="Enabled" Height="125" Width="113%" DropDownWidth="250" NoWrap="true" OnClientKeyPressing="" EnableItemCaching="true" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="Col1" UniqueName="Col1" HeaderText="Col1" HeaderStyle-Width="60px" Resizable="false" AllowFiltering="false" ReadOnly="False" Display="true" Visible="true" ItemStyle-ForeColor="Blue" HeaderStyle-HorizontalAlign="Center" /> </Columns> </MasterTableView> </telerik:RadGrid> </div> </form></body></html>using System;using System.Data;using Telerik.Web.UI;public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { } protected void RadGrid1_NeedDataSource(object source, GridNeedDataSourceEventArgs e) { DataTable dt = new DataTable(); dt.Columns.Add("Col1"); dt.Columns.Add("Col2"); for (int i = 0; i < 20; i++) { dt.Rows.Add(new object[] {i, string.Format("desc_{0}", i)}); } RadGrid1.DataSource = dt; }}


<telerik:RibbonBarSplitButton Size="Large" Text="Days" Value="TypeInterval" ImageUrlLarge="~/Images/Calendar32.png"> <Buttons> <telerik:RibbonBarButton Value="TypeCalendar" ImageUrl="~/Images/Calendar16.png" Text="Days" /> <telerik:RibbonBarButton Value="TypeTime" ImageUrl="~/Images/Time16.png" Text="Times" /> </Buttons></telerik:RibbonBarSplitButton>function findSplitButton(sender, buttonValue) { for (var i = 0; i < sender.get_tabs().get_count() ; i++) { var tab = sender.get_tabs().getTab(i); for (var j = 0; j < tab.get_groups().get_count() ; j++) { var group = tab.get_groups().getGroup(j); for (var k = 0; k < group.get_items().get_count() ; k++) { var item = group.get_items().getItem(k); var customAttribute = item.get_element().getAttribute('Value'); if (customAttribute != null && customAttribute == buttonValue) { return item; } } } } }function MenuItem(sender, args) { var value = args.get_button().get_value(); var button = findSplitButton(sender, 'TypeInterval'); switch (value) { case "TypeCalendar": button.set_imageUrlLarge("~/Images/Calendar32.png"); break; case "TypeTime": button.set_imageUrlLarge("~/Images/Time32.png"); break; } }
<telerik:RadCodeBlock ID="RadCodeBlock2" runat="server">
<script type="text/javascript">
<!--
function gridCommand(sender, args) {
if (args.get_commandName() == "DownloadAttachment") {
var manager = $find('<%= RadAjaxManager.GetCurrent(Page).ClientID %>');
manager.set_enableAJAX(false);
setTimeout(function () {
manager.set_enableAJAX(true);
}, 0);
}
}
-->
</script>
</telerik:RadCodeBlock>
<telerik:RadGrid ID="RadGrid1" DataSourceID="SqlDataSource1" runat="server" ShowStatusBar="false"
AutoGenerateColumns="false" PageSize="3" AllowSorting="false" AllowMultiRowSelection="false" AllowPaging="false" GridLines="None" AllowAutomaticDeletes="true"
AllowAutomaticInserts="true" AllowAutomaticUpdates="true"> <PagerStyle Mode="NumericPages"></PagerStyle> <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames="id_manifestazione" AllowMultiColumnSorting="false" Width="100%" CommandItemDisplay="Top" Name="Master"> <DetailTables> <telerik:GridTableView DataKeyNames="ID" DataSourceID="SqlDataSourceDetailTable" Width="100%" runat="server" CommandItemDisplay="Top" Name="Detail"> <ParentTableRelation> <telerik:GridRelationFields DetailKeyField="id_manifestazione" MasterKeyField="id_manifestazione" /> </ParentTableRelation> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn2"> <HeaderStyle Width="20px" /> <ItemStyle CssClass="MyImageButton" /> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn DataField="tipo_file" Visible="true" HeaderText="Tipo file"> </telerik:GridBoundColumn> <telerik:GridBoundColumn SortExpression="ID" HeaderText="ID" HeaderButtonType="TextButton" DataField="ID" UniqueName="ID" ReadOnly="true"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="UploadedBy" Visible="false" ReadOnly="true" HeaderText="Proprietario file"> </telerik:GridBoundColumn> <telerik:GridAttachmentColumn DataSourceID="SqlDataSource2" MaxFileSize="1048576" EditFormHeaderTextFormat="Upload File:" HeaderText="Download" AttachmentDataField="BinaryData" AttachmentKeyFields="ID" FileNameTextField="FileName" DataTextField="FileName" UniqueName="AttachmentColumn"> </telerik:GridAttachmentColumn> <telerik:GridBoundColumn DataField="FileName" Visible="false" HeaderText="FileName"> </telerik:GridBoundColumn> <telerik:GridButtonColumn ConfirmText="Eliminare il file selezionato?" ConfirmDialogType="RadWindow" ConfirmTitle="Cancellazione file" ButtonType="ImageButton" CommandName="Delete" Text="Elimina" UniqueName="DeleteColumnDetail"> <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> </telerik:GridButtonColumn> </Columns> <SortExpressions> <telerik:GridSortExpression FieldName="tipo_file"></telerik:GridSortExpression> </SortExpressions> </telerik:GridTableView> </DetailTables> <Columns> <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> <HeaderStyle Width="20px" /> <ItemStyle CssClass="MyImageButton" /> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn DataField="id_manifestazione" UniqueName="id_manifestazione" Visible="false" ReadOnly="true"></telerik:GridBoundColumn> <telerik:GridDropDownColumn DataField="id_attivita" DataSourceID="dsAttivita" ListTextField="descrizione" ListValueField="ID_attivita" Display="true" Visible="true" HeaderText="Attività " SortExpression="descrizione" UniqueName="id_attivita" ColumnEditorID="GridTextBoxColumnEditor1"></telerik:GridDropDownColumn> <telerik:GridBoundColumn SortExpression="manifestazione" HeaderText="manifestazione" HeaderButtonType="TextButton" DataField="manifestazione" UniqueName="manifestazione"> </telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="luogo_data" HeaderText="Luogo e data" SortExpression="luogo_data" UniqueName="luogo_data" ColumnEditorID="GridTextBoxColumnEditor1"> </telerik:GridBoundColumn> <telerik:GridButtonColumn ConfirmText="Eliminare la manifestazione selezionata?" ConfirmDialogType="RadWindow" ConfirmTitle="Cancellazione manifestazione" ButtonType="ImageButton" CommandName="Delete" Text="Elimina" UniqueName="DeleteColumn"> <ItemStyle HorizontalAlign="Center" CssClass="MyImageButton" /> </telerik:GridButtonColumn> </Columns> <SortExpressions> <telerik:GridSortExpression FieldName="id_manifestazione"></telerik:GridSortExpression> </SortExpressions> </MasterTableView> <ClientSettings> <ClientEvents OnCommand="gridCommand" /> </ClientSettings> </telerik:RadGrid>Hi,
I have a hierarchical grid. If I insert a <ClientSettings> tags when I update data in detail table, I get javascript's error "null is null or not an object".
Can someone help me?
thanks,
Marco
<%@ Page Language="C#" CodeFile="DefaultCS.aspx.cs" Inherits="Grid.Examples.DataEditing.TemplateFormUpdate.DefaultCS" MasterPageFile="~/MasterPage.master" %><%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %><asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"></asp:Content><asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <p id="divMsgs" runat="server"> <asp:Label ID="Label1" runat="server" EnableViewState="False" Font-Bold="True" ForeColor="#FF8080"> </asp:Label> <asp:Label ID="Label2" runat="server" EnableViewState="False" Font-Bold="True" ForeColor="#00C000"> </asp:Label> </p> <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server"> <script type="text/javascript"> function RowDblClick(sender, eventArgs) { sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical()); } </script> </telerik:RadCodeBlock> <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="RadGrid1"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1"> </telerik:AjaxUpdatedControl> <telerik:AjaxUpdatedControl ControlID="divMsgs"></telerik:AjaxUpdatedControl> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManager> <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server"> </telerik:RadAjaxLoadingPanel> <telerik:RadGrid ID="RadGrid1" runat="server" CssClass="RadGrid" GridLines="None" AllowPaging="True" PageSize="20" AllowSorting="True" AutoGenerateColumns="False" ShowStatusBar="true" AllowAutomaticDeletes="True" AllowAutomaticInserts="True" AllowAutomaticUpdates="True" DataSourceID="SqlDataSource1" OnItemDeleted="RadGrid1_ItemDeleted" OnItemInserted="RadGrid1_ItemInserted" OnItemUpdated="RadGrid1_ItemUpdated" OnItemCommand="RadGrid1_ItemCommand" OnPreRender="RadGrid1_PreRender"> <MasterTableView CommandItemDisplay="TopAndBottom" DataSourceID="SqlDataSource1" DataKeyNames="EmployeeID" EditMode="PopUp"> <Columns> <telerik:GridEditCommandColumn> </telerik:GridEditCommandColumn> <telerik:GridBoundColumn UniqueName="EmployeeID" HeaderText="ID" DataField="EmployeeID"> <HeaderStyle ForeColor="Silver" Width="20px"></HeaderStyle> <ItemStyle ForeColor="Gray"></ItemStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="TitleOfCourtesy" HeaderText="TOC" DataField="TitleOfCourtesy"> <HeaderStyle Width="60px"></HeaderStyle> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="FirstName" HeaderText="FirstName" DataField="FirstName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="LastName" HeaderText="LastName" DataField="LastName"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="HireDate" HeaderText="Hire Date" DataField="HireDate" DataFormatString="{0:d}"> </telerik:GridBoundColumn> <telerik:GridBoundColumn UniqueName="Title" HeaderText="Title" DataField="Title"> </telerik:GridBoundColumn> <telerik:GridButtonColumn CommandName="Delete" Text="Delete" UniqueName="column"> </telerik:GridButtonColumn> </Columns> <EditFormSettings EditFormType="Template" PopUpSettings-Width="800px"> <FormTemplate> <asp:ValidationSummary ID="ValidationSummary1" runat="server" /> <table id="Table2" cellspacing="2" cellpadding="1" width="100%" border="0" rules="none" style="border-collapse: collapse;"> <tr class="EditFormHeader"> <td colspan="2" style="font-size: small"> <b>Employee Details</b> </td> </tr> <tr> <td colspan="2"> <b>Company Info:</b> </td> </tr> <tr> <td> <table id="Table3" cellspacing="1" cellpadding="1" width="250" border="0" class="module"> <tr> <td> </td> <td> </td> </tr> <tr> <td> Country: </td> <td> <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("Country") %>'> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Country Required" ControlToValidate="TextBox7"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> City: </td> <td> <asp:TextBox ID="TextBox8" runat="server" Text='<%# Bind("City") %>' TabIndex="1"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="City Required" ControlToValidate="TextBox8"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Region: </td> <td> <asp:TextBox ID="TextBox9" runat="server" Text='<%# Bind("Region") %>' TabIndex="2"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ErrorMessage="Region Required" ControlToValidate="TextBox9"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Home Phone: </td> <td> <telerik:RadMaskedTextBox ID="HomePhoneBox" runat="server" SelectionOnFocus="SelectAll" Text='<%# Bind("HomePhone") %>' PromptChar="_" Width="300px" Mask="(###) ###-####" TabIndex="3"> </telerik:RadMaskedTextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ErrorMessage="Home Phone Required" ControlToValidate="HomePhoneBox"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Birth Date: </td> <td> <telerik:RadDatePicker ID="BirthDatePicker" runat="server" MinDate="1/1/1900" DbSelectedDate='<%# Bind("BirthDate") %>' TabIndex="4"> </telerik:RadDatePicker> <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ErrorMessage="Birth Date Required" ControlToValidate="BirthDatePicker"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Title Of Courtesy </td> <td> <asp:DropDownList ID="ddlTOC" runat="server" SelectedValue='<%# Bind("TitleOfCourtesy") %>' DataSource='<%# (new string[] { "Dr.", "Mr.", "Mrs.", "Ms." }) %>' TabIndex="7" AppendDataBoundItems="True"> <asp:ListItem Selected="True" Text="Select" Value=""> </asp:ListItem> </asp:DropDownList> </td> </tr> </table> </td> <td> <table id="Table1" cellspacing="1" cellpadding="1" width="250" border="0" class="module"> <tr> <td> Notes: </td> </tr> <tr> <td> <asp:TextBox ID="TextBox1" Text='<%# Bind("Notes") %>' runat="server" TextMode="MultiLine" Rows="5" Columns="40" TabIndex="5"> </asp:TextBox> </td> </tr> <tr> <td> Address: </td> </tr> <tr> <td> <asp:TextBox ID="TextBox6" Text='<%# Bind("Address") %>' runat="server" TextMode="MultiLine" Rows="2" Columns="40" TabIndex="6"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ErrorMessage="Address Required" ControlToValidate="TextBox6"></asp:RequiredFieldValidator> </td> </tr> </table> </td> </tr> <tr> <td colspan="2"> <b>Personal Info:</b> </td> </tr> <tr> <td> <table id="Table4" cellspacing="1" cellpadding="1" width="250" border="0" class="module"> <tr> <td> FirstName: </td> <td> <asp:TextBox ID="TextBox2" Text='<%# Bind( "FirstName") %>' runat="server" TabIndex="8"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" ErrorMessage="First Name Required" ControlToValidate="TextBox2"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Last Name: </td> <td> <asp:TextBox ID="TextBox3" Text='<%# Bind( "LastName") %>' runat="server" TabIndex="9"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" ErrorMessage="Last Name Required" ControlToValidate="TextBox3"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Hire Date: </td> <td> <telerik:RadDatePicker ID="HireDatePicker" DbSelectedDate='<%# Bind( "HireDate") %>' runat="server" TabIndex="10"> </telerik:RadDatePicker> <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" ErrorMessage="Hire Date Required" ControlToValidate="HireDatePicker"></asp:RequiredFieldValidator> </td> </tr> <tr> <td> Title: </td> <td> <asp:TextBox ID="TextBox4" Text='<%# Bind( "Title") %>' runat="server" TabIndex="11"> </asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" ErrorMessage="Title Required" ControlToValidate="TextBox4"></asp:RequiredFieldValidator> </td> </tr> </table> </td> <td> </td> </tr> <tr> <td align="right" colspan="2"> <asp:Button ID="btnUpdate" Text='<%# (Container is GridEditFormInsertItem) ? "Insert" : "Update" %>' runat="server" CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>'> </asp:Button> <asp:Button ID="btnCancel" Text="Cancel" runat="server" CausesValidation="False" CommandName="Cancel"></asp:Button> </td> </tr> </table> </FormTemplate> </EditFormSettings> </MasterTableView> <ClientSettings> <ClientEvents OnRowDblClick="RowDblClick"></ClientEvents> </ClientSettings> </telerik:RadGrid> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:TelerikConnectionString35 %>" DeleteCommand="DELETE FROM [Employees_Northwind] WHERE [EmployeeID] = @EmployeeID" InsertCommand="INSERT INTO [Employees_Northwind] ([LastName], [FirstName], [Title], [TitleOfCourtesy], [BirthDate], [HireDate], [Address], [City], [Region], [Country], [HomePhone], [Notes], [ReportsTo]) VALUES (@LastName, @FirstName, @Title, @TitleOfCourtesy, @BirthDate, @HireDate, @Address, @City, @Region, @Country, @HomePhone, @Notes, @ReportsTo)" SelectCommand="SELECT * FROM [Employees_Northwind]" UpdateCommand="UPDATE [Employees_Northwind] SET [LastName] = @LastName, [FirstName] = @FirstName, [Title] = @Title, [TitleOfCourtesy] = @TitleOfCourtesy, [BirthDate] = @BirthDate, [HireDate] = @HireDate, [Address] = @Address, [City] = @City, [Region] = @Region, [Country] = @Country, [HomePhone] = @HomePhone, [Notes] = @Notes WHERE [EmployeeID] = @EmployeeID"> <DeleteParameters> <asp:Parameter Name="EmployeeID" Type="Int32"></asp:Parameter> </DeleteParameters> <InsertParameters> <asp:Parameter Name="LastName" Type="String"></asp:Parameter> <asp:Parameter Name="FirstName" Type="String"></asp:Parameter> <asp:Parameter Name="Title" Type="String"></asp:Parameter> <asp:Parameter Name="TitleOfCourtesy" Type="String"></asp:Parameter> <asp:Parameter Name="BirthDate" Type="DateTime"></asp:Parameter> <asp:Parameter Name="HireDate" Type="DateTime"></asp:Parameter> <asp:Parameter Name="Address" Type="String"></asp:Parameter> <asp:Parameter Name="City" Type="String"></asp:Parameter> <asp:Parameter Name="Region" Type="String"></asp:Parameter> <asp:Parameter Name="Country" Type="String"></asp:Parameter> <asp:Parameter Name="HomePhone" Type="String"></asp:Parameter> <asp:Parameter Name="Notes" Type="String"></asp:Parameter> <asp:Parameter Name="ReportsTo" Type="Int32" DefaultValue=""></asp:Parameter> </InsertParameters> <UpdateParameters> <asp:Parameter Name="LastName" Type="String"></asp:Parameter> <asp:Parameter Name="FirstName" Type="String"></asp:Parameter> <asp:Parameter Name="Title" Type="String"></asp:Parameter> <asp:Parameter Name="TitleOfCourtesy" Type="String"></asp:Parameter> <asp:Parameter Name="BirthDate" Type="DateTime"></asp:Parameter> <asp:Parameter Name="HireDate" Type="DateTime"></asp:Parameter> <asp:Parameter Name="Address" Type="String"></asp:Parameter> <asp:Parameter Name="City" Type="String"></asp:Parameter> <asp:Parameter Name="Region" Type="String"></asp:Parameter> <asp:Parameter Name="Country" Type="String"></asp:Parameter> <asp:Parameter Name="HomePhone" Type="String"></asp:Parameter> <asp:Parameter Name="Notes" Type="String"></asp:Parameter> <asp:Parameter Name="EmployeeID" Type="Int32"></asp:Parameter> </UpdateParameters> </asp:SqlDataSource> <br /></asp:Content>