or
<telerik:RadGrid ID="rgdTemp" runat="server" AllowFilteringByColumn="True" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" GridLines="None" onitemcommand="rgdTemp_ItemCommand" onneeddatasource="rgdTemp_NeedDataSource" > <MasterTableView> <Columns> <telerik:GridBoundColumn UniqueName="FirstName" DataField="FirstName" HeaderText="First Name" /> <telerik:GridBoundColumn UniqueName="LastName" DataField="LastName" HeaderText="Last Name" /> <telerik:GridEditCommandColumn EditText="Add Second Voucher" ButtonType="PushButton" /> </Columns> <EditFormSettings EditFormType="Template"> <FormTemplate> <table> <tr> <td> First Name: </td> <td> <asp:TextBox ID="txtFirstName" runat="server" ReadOnly="true" Text='<%# Bind( "FirstName" ) %>'/> </td> </tr> <tr> <td> Last Name: </td> <td> <asp:TextBox ID="txtLastName" runat="server" ReadOnly="true" Text='<%# Bind( "LastName" ) %>'/> </td> </tr> <tr> <td> R: </td> <td> <asp:TextBox ID="txtR" runat="server" /> </td> </tr> <tr> <td> P: </td> <td> <asp:TextBox ID="txtP" runat="server" Text="0" /> </td> </tr> <tr> <td> <asp:Button ID="btnSubmit" runat="server" Text='<%# "Insert" %>' runat="server" CommandName='<%# "PerformInsert" %>'> </asp:Button> </td> <td> <asp:Button ID="btnCancel" runat="server" Text="Cancel" OnClick="btnCancel_Click" /> </td> </tr> </table> </FormTemplate> </EditFormSettings> <RowIndicatorColumn> <HeaderStyle Width="20px"></HeaderStyle> </RowIndicatorColumn> <ExpandCollapseColumn> <HeaderStyle Width="20px"></HeaderStyle> </ExpandCollapseColumn> </MasterTableView> </telerik:RadGrid><telerik:GridTemplateColumn DataField="CreatedDate" HeaderText="Date" UniqueName="CreatedDate"> <ItemTemplate> <asp:Label runat="server" ID="lblGridCreatedDate" Text='<%# Eval("CreatedDate") %>'></asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadDatePicker runat="server" ID="dtGridCreatedDate" Text='<%# Eval("CreatedDate") %>'></telerik:RadDatePicker> </EditItemTemplate> </telerik:GridTemplateColumn><telerik:RadGrid ID="RadGrid1" AllowAutomaticUpdates="true" AllowAutomaticDeletes="true" DataSourceID="SessionDataSource1" AllowSorting="True" AutoGenerateColumns="true" AllowPaging="True" GridLines="None" runat="server" ShowFooter="True" AllowMultiRowSelection="True" PageSize="7" AllowMultiRowEdit="True" AllowAutomaticInserts="True" OnItemDeleted="RadGrid1_ItemDeleted" onitemcommand="RadGrid1_ItemCommand"> <PagerStyle Mode="NextPrevAndNumeric" /> <MasterTableView Width="100%" CommandItemDisplay="Top" DataSourceID="SessionDataSource1" DataKeyNames="CustomerID"> <CommandItemTemplate> <div style="padding: 5px 5px;"> Custom command item template <asp:LinkButton ID="btnEditSelected" runat="server" CommandName="EditSelected" Visible='<%# RadGrid1.EditIndexes.Count == 0 %>'><img style="border:0px;vertical-align:middle;" alt="" src="Images/Edit.gif" />Edit selected</asp:LinkButton> <asp:LinkButton ID="LinkButton2" runat="server" CommandName="InitInsert" Visible='<%# !RadGrid1.MasterTableView.IsItemInserted %>'><img style="border:0px;vertical-align:middle;" alt="" src="Images/AddRecord.gif" />Add new</asp:LinkButton> <asp:LinkButton ID="LinkButton3" runat="server" CommandName="PerformInsert" Visible='<%# RadGrid1.MasterTableView.IsItemInserted %>'><img style="border:0px;vertical-align:middle;" alt="" src="Images/Insert.gif" /> Add this Customer</asp:LinkButton> <asp:LinkButton ID="LinkButton1" OnClientClick="javascript:return confirm('Delete all selected customers?')" runat="server" CommandName="DeleteSelected"><img style="border:0px;vertical-align:middle;" alt="" src="Images/Delete.gif" />Delete selected customers</asp:LinkButton> <asp:LinkButton ID="LinkButton4" runat="server" CommandName="RebindGrid"><img style="border:0px;vertical-align:middle;" alt="" src="Images/Refresh.gif" />Refresh customer list</asp:LinkButton> </div> </CommandItemTemplate> </MasterTableView> <ClientSettings> <Selecting AllowRowSelect="True" EnableDragToSelectRows="True" /> </ClientSettings> </telerik:RadGrid> protected void RadGrid1_ItemCommand(object source, GridCommandEventArgs e) { // Here I need help to allow edit/delete for only Customers from London... if (e.CommandName == RadGrid.EditSelectedCommandName) { e.Canceled = true; } }.RadSlider_Custom .rslHorizontal a.rslDraghandle,.RadSlider_Custom .rslHorizontal a.rslDraghandle:hover,.RadSlider_Custom .rslHorizontal a.rslDraghandle:focus,.RadSlider_Custom .rslHorizontal a.rslDraghandle:active{ background:url('Slider/customhandle.jpg'); width:20px; }<telerik:RadGrid ID="institutes" Skin="Skin" runat="server" AutoGenerateColumns="False" EnableEmbeddedSkins="false" OnItemCommand="itemCommand" OnNeedDataSource="needDataSource" AllowSorting="False" AllowMultiRowSelection="False" AllowPaging="False" PageSize="5" GridLines="None" ShowFooter="True" OnGroupsChanging="Group" ShowGroupFooter="true" > <PagerStyle Mode="NumericPages"></PagerStyle> <GroupingSettings ShowUnGroupButton="true" RetainGroupFootersVisibility="true" /> <ClientSettings> <ClientEvents OnHierarchyCollapsed="HierarchyCollapsed" OnHierarchyExpanding="RadGrid1_HierarchyExpanding" /> <Scrolling AllowScroll="true" UseStaticHeaders="true" /> </ClientSettings> <MasterTableView AllowMultiColumnSorting="False" DataKeyNames="InstitueId,Id" ExpandCollapseColumn-ExpandImageUrl="../Images/expand1.png" ExpandCollapseColumn-ButtonType="ImageButton" ExpandCollapseColumn-CollapseImageUrl="../Images/minus.png" ShowGroupFooter="false" HierarchyLoadMode="ServerOnDemand" ExpandCollapseColumn-AutoPostBackOnFilter="false" GroupsDefaultExpanded="false" GroupLoadMode="Server" AllowSorting="false"> <GroupByExpressions> <telerik:GridGroupByExpression > <GroupByFields > <telerik:GridGroupByField FieldName="Town" FieldAlias="רשות" /> </GroupByFields> <SelectFields> <telerik:GridGroupByField FieldName="Town" FieldAlias="רשות" HeaderValueSeparator=" " /> <telerik:GridGroupByField FieldName="Quantity" FieldAlias="אוכלים" FormatString=" {0} " HeaderText=" " Aggregate="Sum" HeaderValueSeparator="" /> <telerik:GridGroupByField FieldName="ChangeQuantity" HeaderText=" " Aggregate="Sum" FormatString=" {0}" HeaderValueSeparator=" " /> </SelectFields> </telerik:GridGroupByExpression> </GroupByExpressions> <Columns> <telerik:GridBoundColumn HeaderText="סמל" DataField="Semel" UniqueName="Semel" > </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="מוסד" DataField="Name" UniqueName="Institue" > </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="אוכלים בפועל" DataField="Quantity" DataFormatString="{0:N0}" UniqueName="InstitueQuantity" FooterAggregateFormatString="סה"כ אוכלים בפועל :{0:N0}" Aggregate="Sum" > </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="כמות מבוקשת" Aggregate="Sum" FooterAggregateFormatString="<div id='total' >כמות מבוקשת {0:N0} </div>" UniqueName="InstitueChangeQuantity" DataField="ChangeQuantity"> <ItemTemplate> <div id='<%#Eval("Id")+"tot" %>' > <%#((decimal)Eval("ChangeQuantity")).ToString("0")%> </div> </ItemTemplate></telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="סטטוס" DataField="Status.Code" UniqueName="InstitueStatus" ItemStyle-Width="150px" > <ItemTemplate> <asp:HiddenField ID="hidStatusCode" runat="server" Value='<%#Eval("Status.Code") %>' /> <asp:Label ID="lblStatus" runat="server"> <telerik:RadBinaryImage ID="imageStatus" runat="server" ImageAlign="Middle" ImageUrl='<%# "../Images/" +Eval("Status.Icon")+"_16_normal.png" %>' Width="12px" Height="12px" /> <%#Eval("Status.Name")%></asp:Label> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> <NestedViewTemplate> <asp:Panel runat="server" ID="InnerContainer" Visible="true" CssClass="viewWrap"> <telerik:RadTabStrip runat="server" ID="TabStip1" MultiPageID="Multipage1" Skin="" Style="padding-right: 20px;" SelectedIndex="0" OnClientTabSelected="tabSelected" > <Tabs> <telerik:RadTab runat="server" Text="פירוט מנות" PageViewID="PageView1" SelectedCssClass="SelectedTab" CssClass="CustomTab"> </telerik:RadTab> <telerik:RadTab runat="server" Text="מאפיינים" PageViewID="PageView2" SelectedCssClass="SelectedTab" CssClass="CustomTab"> </telerik:RadTab> </Tabs> </telerik:RadTabStrip> <telerik:RadMultiPage runat="server" ID="Multipage1" SelectedIndex="0" > <telerik:RadPageView runat="server" ID="PageView1"> <!--Item (Classes) Grid --> <telerik:RadGrid runat="server" OnItemDataBound="dgItems_ItemCreated" ID='itemsGrid' ShowFooter="true" EnableLinqExpressions="false" OnNeedDataSource="itemsGrid_NeedDataSource" AllowSorting="false" Skin="Skin" EnableEmbeddedSkins="false" > <MasterTableView ShowHeader="true" AutoGenerateColumns="False" AllowPaging="false" ShowFooter="false" ClientDataKeyNames="SmartId,Id,Status.Code,Quantity" DataKeyNames="SmartId,Id" HierarchyLoadMode="ServerOnDemand"> <ItemStyle HorizontalAlign="Right" /> <AlternatingItemStyle HorizontalAlign="Right" /> <Columns> <telerik:GridClientSelectColumn UniqueName="ClientSelectColumn" /> <telerik:GridBoundColumn HeaderText="כיתה" DataField="ClassName" UniqueName="Class"> </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="פריט" DataField="ItemName" UniqueName="ItemOrAccount" > </telerik:GridBoundColumn> <telerik:GridBoundColumn HeaderText="אוכלים בפועל" DataField="Quantity" DataFormatString="{0:N0}" UniqueName="Quantity1"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="כמות מבוקשת" DataField="ChangeQuantity" UniqueName="requestQuantity1"> <ItemTemplate> <telerik:RadNumericTextBox ID="request1" Width="50px" ShowSpinButtons="true" NumberFormat-DecimalDigits="0" MinValue="0" AllowOutOfRangeAutoCorrect="true" BorderStyle="None" runat="server" AutoPostBack="false" DbValue='<%#Eval("ChangeQuantity") %>' ClientEvents-OnValueChanged="quantityChanged"> </telerik:RadNumericTextBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridCalculatedColumn HeaderText="הפרש" UniqueName="Difference1" DataType="System.Double" DataFields="ChangeQuantity,Quantity" Expression="{0}-{1}" Aggregate="Sum" /> <telerik:GridBoundColumn HeaderText="תקציב מאושר" DataField="Price" DataFormatString="{0:N0}" UniqueName="Quantity2" Display="false"> </telerik:GridBoundColumn> <telerik:GridTemplateColumn HeaderText="תקציב מבוקש" DataField="ChangeAmount" UniqueName="requestAmount" Display="false"> <ItemTemplate> <telerik:RadNumericTextBox ID="requestAmount" Width="50px" ShowSpinButtons="true" NumberFormat-DecimalDigits="0" MinValue="0" AllowOutOfRangeAutoCorrect="true" BorderStyle="None" runat="server" AutoPostBack="false" DbValue='<%#Eval("ChangeAmount") %>' ClientEvents-OnValueChanged="quantityChanged"> </telerik:RadNumericTextBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridCalculatedColumn HeaderText="הפרש" UniqueName="Difference2" DataType="System.Double" Display="false" DataFields="ChangeAmount,Price" Expression="{0}-{1}" Aggregate="Sum" /> <telerik:GridTemplateColumn HeaderText="סיבת שינוי" UniqueName="changeReason"> <ItemTemplate> <telerik:RadComboBox DataTextField="Name" DataValueField="Id" ID="changeReasons" runat="server" Width="80px"> </telerik:RadComboBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridCalculatedColumn HeaderText="סהכ" UniqueName="SumField" DataType="System.Double" Display="false" DataFields="Amount" Expression="" Aggregate="Sum" /> <telerik:GridTemplateColumn HeaderText="סטטוס" DataField="Status.Code" UniqueName="Status"> <ItemTemplate> <asp:HiddenField ID="hidStatusCode" runat="server" Value='<%#Eval("Status.Code") %>' /> <asp:Label ID="lblStatus" runat="server"> <telerik:RadBinaryImage ID="imageStatus" runat="server" ImageAlign="Middle" ImageUrl='<%# "../Images/" +Eval("Status.Icon")+"_16_normal.png" %>' Width="12px" Height="12px" /> <%#Eval("Status.Name")%></asp:Label> <telerik:RadComboBox DataValueField="Code" ID="ddlStatus" runat="server" DataTextField="Name" Width="120px" Visible="false" OnClientSelectedIndexChanged="statusChanged"> <ItemTemplate> <telerik:RadBinaryImage ID="RadBinaryImage1" runat="server" ImageUrl='<%# "../Images/" +Eval("Icon")+"_16_normal.png" %>' /> <%#Eval("Name") %> </ItemTemplate> </telerik:RadComboBox> </ItemTemplate> </telerik:GridTemplateColumn> </Columns> </MasterTableView> <ClientSettings> <ClientEvents OnRowSelected="RowSelected" OnRowDeselected="RowDeSelected" /> <Selecting AllowRowSelect="true" /> </ClientSettings> </telerik:RadGrid> </telerik:RadPageView> <telerik:RadPageView ID="pageView2" runat="server" > <div style="text-align:right;padding-right:-200px;"> <iframe id='<%#"ifr_"+Eval("InstitueId") %>' width="100%" height="500px" src="about:blank" frameborder="0" scrolling="no" style="position:static;" ></iframe> </div> </telerik:RadPageView> </telerik:RadMultiPage> </asp:Panel> </NestedViewTemplate> </MasterTableView> </telerik:RadGrid><%@ Control Language="C#" AutoEventWireup="true" CodeFile="Config.ascx.cs" Inherits="Admin_Config" ClassName="Admin.Config" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><h1>Config</h1><script type="text/javascript"> function RowDblClick(sender, eventArgs) { sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical()); }</script><asp:Repeater ID="rptGroups" OnItemDataBound="rptGroups_ItemDataBound" runat="server"> <ItemTemplate> <h2><asp:Literal ID="litHeader" runat="server" /></h2> <asp:UpdatePanel ID="upKeys" UpdateMode="Conditional" runat="server"> <ContentTemplate> <asp:Literal ID="litTest" runat="server" /> <telerik:RadGrid ID="rgKeys" AutoGenerateColumns="false" AllowSorting="True" AutoGenerateEditColumn="true" AllowAutomaticUpdates="True" Skin="Telerik" OnUpdateCommand="rgKeys_UpdateCommand" runat="server"> <MasterTableView EditMode="PopUp" CommandItemDisplay="Bottom" CommandItemSettings-AddNewRecordText="Add new key" CommandItemSettings-ShowRefreshButton="false" DataKeyNames="name" AllowSorting="true"> <Columns> <telerik:GridBoundColumn DataField="Name" HeaderText="Name" SortExpression="Name" UniqueName="Name"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Alias" HeaderText="Alias" SortExpression="Alias" UniqueName="Alias"></telerik:GridBoundColumn> <telerik:GridCheckBoxColumn DataField="Active" HeaderText="Active" SortExpression="Active" UniqueName="Active"></telerik:GridCheckBoxColumn> <telerik:GridBoundColumn DataField="Value1" HeaderText="Value 1" SortExpression="Value1" UniqueName="Value1"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Value2" HeaderText="Value 2" SortExpression="Value2" UniqueName="Value2"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Value3" HeaderText="Value 3" SortExpression="Value3" UniqueName="Value3"></telerik:GridBoundColumn> </Columns> <EditItemStyle ForeColor="Gray"></EditItemStyle> <EditFormSettings InsertCaption="Add new key" CaptionFormatString="Edit details key '{0}'" CaptionDataField="name" PopUpSettings-Modal="true"> <FormCaptionStyle Font-Bold="true" /> </EditFormSettings> </MasterTableView> <ClientSettings> <ClientEvents OnRowDblClick="RowDblClick" /> </ClientSettings> </telerik:RadGrid> </ContentTemplate> </asp:UpdatePanel> </ItemTemplate></asp:Repeater>using System;using System.Collections;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Xml;using System.Xml.Linq;using Telerik.Web.UI;public partial class Admin_Config : System.Web.UI.UserControl{ protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { XDocument Config = Cache.XDoc.Load("Config.xml"); rptGroups.DataSource = Config.Element("config").Elements("group").Where(x => x.Attribute("hidden").Value == "false"); rptGroups.DataBind(); } } protected void rptGroups_ItemDataBound(object sender, RepeaterItemEventArgs e) { XElement ConfigGroup = (XElement)e.Item.DataItem; ((Literal)e.Item.FindControl("litHeader")).Text = ConfigGroup.Attribute("alias").Value; var Keys = from x in ConfigGroup.Elements("key") where x.Attribute("hidden").Value == "false" orderby Convert.ToInt32(x.Attribute("sortId").Value) ascending select new { Name = x.Attribute("name").Value, Alias = x.Attribute("alias").Value, Description = x.Attribute("description").Value, Active = x.Attribute("active").Value, SortId = x.Attribute("sortId").Value, Value1 = x.Attribute("value1").Value, Value2 = x.Attribute("value2").Value, Value3 = x.Attribute("value3").Value }; ((RadGrid)e.Item.FindControl("rgKeys")).DataSource = Keys; ((RadGrid)e.Item.FindControl("rgKeys")).DataBind(); } protected void rgKeys_UpdateCommand(object source, GridCommandEventArgs e) { Hashtable NewValues = new Hashtable(); e.Item.OwnerTableView.ExtractValuesFromItem(NewValues, (GridEditableItem)e.Item); // Cant get any values out here... }}