or
| <%@ Page Language="VB" AutoEventWireup="false" CodeFile="NestedNew.aspx.vb" Inherits="NestedNew" %> |
| <%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %> |
| <!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"> |
| </head> |
| <body class="BODY"> |
| <form runat="server" id="mainForm" method="post"> |
| <telerik:RadScriptManager runat="server" ID="ScriptManager1"> |
| </telerik:RadScriptManager> |
| <!-- content start --> |
| <telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> |
| <AjaxSettings> |
| <telerik:AjaxSetting AjaxControlID="RadGrid1"> |
| <UpdatedControls> |
| <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" /> |
| </UpdatedControls> |
| </telerik:AjaxSetting> |
| </AjaxSettings> |
| </telerik:RadAjaxManager> |
| <telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" /> |
| <telerik:RadGrid ID="RadGrid1" OnPreRender="RadGrid1_PreRender" DataSourceID="SqlDataSource1" |
| runat="server" AutoGenerateColumns="False" AllowSorting="True" AllowMultiRowSelection="False" |
| AllowPaging="True" PageSize="5" GridLines="None" ShowGroupPanel="true"> |
| <PagerStyle Mode="NumericPages"></PagerStyle> |
| <MasterTableView DataSourceID="SqlDataSource1" DataKeyNames="EmployeeID" AllowMultiColumnSorting="True" |
| GroupLoadMode="Server"> |
| <NestedViewTemplate> |
| <asp:Label ID="label1" runat="server" Text='<%# Eval ("EmployeeID") %>'></asp:Label> |
| <asp:Label ID="label2" runat="server" Text='<%# Eval ("LastName") %>'></asp:Label> |
| <asp:Panel runat="server" ID="InnerContainer" CssClass="viewWrap" Visible="false"> |
| <telerik:RadGrid runat="server" ID="OrdersGrid" DataSourceID="ObjectDataSource1" OnItemDataBound="onitemdatabound" |
| OnItemCommand="onitemnested_command" ShowFooter="true" AllowSorting="true" EnableLinqExpressions="false"> |
| <MasterTableView ShowHeader="true" AutoGenerateColumns="true" AllowPaging="true" |
| DataKeyNames="OrderID" PageSize="7" HierarchyLoadMode="ServerOnDemand"> |
| <Columns> |
| <telerik:GridEditCommandColumn> |
| </telerik:GridEditCommandColumn> |
| </Columns> |
| <EditFormSettings EditFormType="Template"> |
| <FormTemplate> |
| <asp:Button ID="btninsert" runat="server" CommandName="PerformInsert" Text="go" /> |
| </FormTemplate> |
| </EditFormSettings> |
| </MasterTableView> |
| </telerik:RadGrid> |
| <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetEmployeeid" |
| TypeName="EmployeesODS"> |
| <SelectParameters> |
| <asp:ControlParameter ControlID="Label1" Name="empid" PropertyName="Text" |
| Type="String" /> |
| </SelectParameters> |
| </asp:ObjectDataSource> |
| <asp:SqlDataSource ID="SqlDataSource3" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" |
| ProviderName="System.Data.SqlClient" SelectCommand="SELECT OrderID, [Order Details].UnitPrice, Quantity, Discount, Products.ProductName FROM ([Order Details] LEFT JOIN Products on [Order Details].ProductID = Products.ProductID) where OrderID = @OrderID" |
| runat="server"> |
| <SelectParameters> |
| <asp:SessionParameter Name="OrderID" SessionField="OrderID" Type="Int32" /> |
| </SelectParameters> |
| </asp:SqlDataSource> |
| </asp:Panel> |
| </NestedViewTemplate> |
| <Columns> |
| <telerik:GridBoundColumn SortExpression="FirstName" HeaderText="First Name" HeaderButtonType="TextButton" |
| DataField="FirstName" UniqueName="FirstName"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="LastName" HeaderText="Last Name" HeaderButtonType="TextButton" |
| DataField="LastName" UniqueName="LastName"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="Title" HeaderText="Title" HeaderButtonType="TextButton" |
| DataField="Title" UniqueName="Title"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="BirthDate" DataFormatString="{0:MM/dd/yyyy}" |
| HeaderText="Birth Date" HeaderButtonType="TextButton" DataField="BirthDate" UniqueName="BirthDate"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="City" HeaderText="City" HeaderButtonType="TextButton" |
| DataField="City" UniqueName="City"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn SortExpression="Country" HeaderText="Country" HeaderButtonType="TextButton" |
| DataField="Country" UniqueName="Country"> |
| </telerik:GridBoundColumn> |
| </Columns> |
| </MasterTableView> |
| <ClientSettings AllowDragToGroup="true" /> |
| </telerik:RadGrid> |
| <asp:SqlDataSource ID="SqlDataSource1" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>" |
| ProviderName="System.Data.SqlClient" SelectCommand="SELECT * FROM Employees" |
| runat="server"></asp:SqlDataSource> |
| <!-- content end --> |
| </form> |
| </body> |
| </html> |
| Imports Telerik.Web.UI |
| Imports System |
| Imports System.Data |
| Imports System.Data.SqlClient |
| Imports System.Web.UI.WebControls |
| Imports System.Configuration |
| Partial Class NestedNew |
| Inherits System.Web.UI.Page |
| Protected Sub RadGrid1_PreRender(ByVal sender As Object, ByVal e As EventArgs) Handles RadGrid1.PreRender |
| If Not Page.IsPostBack Then |
| RadGrid1.MasterTableView.Items(0).Expanded = True |
| RadGrid1.MasterTableView.Items(0).ChildItem.FindControl("InnerContainer").Visible = True |
| End If |
| End Sub |
| Protected Sub RadGrid1_ItemCommand(ByVal source As Object, ByVal e As GridCommandEventArgs) Handles RadGrid1.ItemCommand |
| If e.CommandName = RadGrid.ExpandCollapseCommandName Then |
| Session("EmployeeName") = DirectCast(source, Telerik.Web.UI.RadGrid).MasterTableView.Items(e.Item.ItemIndex)("LastName").Text |
| DirectCast(e.Item, GridDataItem).ChildItem.FindControl("InnerContainer").Visible = Not e.Item.Expanded |
| End If |
| End Sub |
| Protected Sub RadGrid1_ItemCreated(ByVal sender As Object, ByVal e As GridItemEventArgs) Handles RadGrid1.ItemCreated |
| If TypeOf e.Item Is GridNestedViewItem Then |
| e.Item.FindControl("InnerContainer").Visible = (DirectCast(e.Item, GridNestedViewItem)).ParentItem.Expanded |
| End If |
| End Sub |
| Public Shared Function GetDataTable(ByVal query As String) As DataTable |
| Dim ConnString As String = ConfigurationManager.ConnectionStrings("NorthwindConnectionString").ConnectionString |
| Dim conn As SqlConnection = New SqlConnection(ConnString) |
| Dim adapter As SqlDataAdapter = New SqlDataAdapter |
| adapter.SelectCommand = New SqlCommand(query, conn) |
| Dim table1 As New DataTable |
| conn.Open() |
| Try |
| adapter.Fill(table1) |
| Finally |
| conn.Close() |
| End Try |
| Return table1 |
| End Function |
| Protected Sub onitemnested_command(ByVal source As Object, ByVal e As GridCommandEventArgs) |
| If e.CommandName = RadGrid1.PerformInsertCommandName Then |
| 'write the employeeid |
| 'Response.Write(label1.text) |
| End If |
| End Sub |
| Protected Sub onitemdatabound(ByVal sender As Object, ByVal e As GridItemEventArgs) |
| If e.Item.ItemType = GridItemType.Header And Not Session("EmployeeName") Is Nothing Then |
| Dim hd As GridHeaderItem = e.Item |
| hd("OrderID").Text = " the orders for " + Session("EmployeeName").ToString() |
| End If |
| End Sub |
| End Class |
| Imports Microsoft.VisualBasic |
| Imports Telerik.Web.UI |
| Imports System |
| Imports System.Data |
| Imports System.Data.SqlClient |
| Imports System.Web.UI.WebControls |
| Imports System.Configuration |
| Public Class EmployeesODS |
| Public Shared Function GetEmployeeid(ByVal empid As String) As ArrayList |
| Dim arr As New ArrayList |
| For Each dr As DataRow In GetDataTable("Select * from orders where employeeid='" + empid + "'").Rows |
| Dim emp As New Employee |
| emp.EmployeeID = dr("EmployeeID") |
| emp.OrderId = dr("OrderID") |
| arr.Add(emp) |
| Next |
| Return arr |
| End Function |
| Public Shared Function GetDataTable(ByVal query As String) As DataTable |
| Dim ConnString As String = ConfigurationManager.ConnectionStrings("NorthwindConnectionString").ConnectionString |
| Dim conn As SqlConnection = New SqlConnection(ConnString) |
| Dim adapter As SqlDataAdapter = New SqlDataAdapter |
| adapter.SelectCommand = New SqlCommand(query, conn) |
| Dim table1 As New DataTable |
| conn.Open() |
| Try |
| adapter.Fill(table1) |
| Finally |
| conn.Close() |
| End Try |
| Return table1 |
| End Function |
| End Class |
| Public Class Employee |
| Private _OrderId As String |
| Private _CompanyName As String |
| Private _EmployeeID As String |
| Public Property CompanyName() As String |
| Get |
| Return _CompanyName |
| End Get |
| Set(ByVal value As String) |
| _CompanyName = value |
| End Set |
| End Property |
| Public Property EmployeeID() As String |
| Get |
| Return _EmployeeID |
| End Get |
| Set(ByVal value As String) |
| _EmployeeID = value |
| End Set |
| End Property |
| Public Property OrderId() As String |
| Get |
| Return _OrderId |
| End Get |
| Set(ByVal value As String) |
| _OrderId = value |
| End Set |
| End Property |
| End Class |
| <asp:EntityDataSource ID="ordersDS" runat="server" ConnectionString="name=oscEnties" |
| DefaultContainerName="oscEnties" EnableDelete="False" EnableInsert="True" EnableUpdate="True" |
| EntitySetName="i_orders" Include="orderparts"> |
| </asp:EntityDataSource> |
| <asp:EntityDataSource ID="orderpartDS" runat="server" ConnectionString="name=oscEnties" |
| DefaultContainerName="oscEnties" EnableDelete="false" EnableInsert="True" EnableUpdate="True" |
| EntitySetName="i_orderpart" Where="it.order.orderid==@orderid"> |
| <InsertParameters> |
| <asp:Parameter Name="order.orderid" Type="Int32" /> |
| </InsertParameters> |
| </asp:EntityDataSource> |
| <telerik:RadGrid ID="ordersGrid" runat="server" ShowGroupPanel="True" GridLines="None" |
| OnItemCommand="ordersGrid_ItemCommand" AllowAutomaticInserts="True" DataSourceID="ordersDS" |
| AllowFilteringByColumn="True" AllowAutomaticUpdates="true" AllowSorting="True" |
| AutoGenerateColumns="False"> |
| <HeaderContextMenu> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </HeaderContextMenu> |
| <ClientSettings AllowKeyboardNavigation="true" EnablePostBackOnRowClick="true"> |
| <Selecting AllowRowSelect="true" /> |
| </ClientSettings> |
| <MasterTableView GroupLoadMode="client" AutoGenerateColumns="False" DataKeyNames="orderid" |
| CommandItemDisplay="Top"> |
| <DetailTables> |
| <telerik:GridTableView DataSourceID="orderpartDS" DataKeyNames="orderpartid" AutoGenerateColumns="false" |
| AllowAutomaticUpdates="true" AllowAutomaticInserts="true" CommandItemDisplay="Top" |
| AllowFilteringByColumn="false"> |
| <ParentTableRelation> |
| <telerik:GridRelationFields DetailKeyField="orderid" MasterKeyField="orderid" /> |
| </ParentTableRelation> |
| <NoRecordsTemplate> |
| Hittade inga orderdelar |
| </NoRecordsTemplate> |
| <Columns> |
| <telerik:GridBoundColumn DataField="orderpartid" DataType="System.Int32" HeaderText="ID" |
| ReadOnly="True" SortExpression="orderpartid" UniqueName="orderpartid"> |
| </telerik:GridBoundColumn> |
| <telerik:GridBoundColumn DataField="ordername" HeaderText="Namn" SortExpression="ordername" DataType="System.String" |
| UniqueName="ordername"> |
| </telerik:GridBoundColumn> |
| <telerik:GridDateTimeColumn DataField="orderdate" DataType="System.DateTime" DataFormatString="{0:d}" |
| HeaderText="Ankommande" UniqueName="orderdate" SortExpression="orderdate"> |
| </telerik:GridDateTimeColumn> |
| <telerik:GridDateTimeColumn DataField="shippingdate" DataType="System.DateTime" DataFormatString="{0:d}" |
| HeaderText="Ankommande" UniqueName="shippingdate" SortExpression="shippingdate"> |
| </telerik:GridDateTimeColumn> |
| <telerik:GridDateTimeColumn DataField="arrivaldate" DataType="System.DateTime" DataFormatString="{0:d}" |
| HeaderText="Ankommande" UniqueName="arrivaldate" SortExpression="arrivaldate"> |
| </telerik:GridDateTimeColumn> |
| <telerik:GridNumericColumn DataField="currency" DataType="System.Double" HeaderText="Växelkurs" |
| UniqueName="currency" SortExpression="currency" NumericType="Number" KeepNotRoundedValue="true"> |
| </telerik:GridNumericColumn> |
| <telerik:GridNumericColumn DataField="freightcost" DataType="System.Double" HeaderText="Fraktkostnad" |
| UniqueName="freightcost" SortExpression="freightcost" NumericType="Number" KeepNotRoundedValue="true"> |
| </telerik:GridNumericColumn> |
| <telerik:GridNumericColumn DataField="order.orderid" DataType="System.Int32" HeaderText="OrderId" |
| UniqueName="order.orderid" SortExpression="order.orderid" Visible="true" ReadOnly="false"> |
| </telerik:GridNumericColumn> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> |
| <ItemStyle CssClass="MyImageButton" /> |
| </telerik:GridEditCommandColumn> |
| </Columns> |
| <EditFormSettings ColumnNumber="2" CaptionFormatString="Ändra orderdel"> |
| <FormTableItemStyle Wrap="False"></FormTableItemStyle> |
| <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> |
| <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="1" BackColor="White" |
| Width="100%" /> |
| <FormTableStyle CellSpacing="0" CellPadding="2" Height="60px" BackColor="White" /> |
| <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> |
| <EditColumn ButtonType="ImageButton" InsertText="Lägg till" UpdateText="Uppdatera" |
| UniqueName="EditCommandColumn1" CancelText="Avbryt"> |
| </EditColumn> |
| </EditFormSettings> |
| </telerik:GridTableView> |
| </DetailTables> |
| <NoRecordsTemplate> |
| Hittade inga ordrar |
| </NoRecordsTemplate> |
| <Columns> |
| <telerik:GridBoundColumn DataField="orderid" DataType="System.Int32" HeaderText="ID" |
| ReadOnly="True" SortExpression="orderid" UniqueName="orderid"> |
| </telerik:GridBoundColumn> |
| <telerik:GridCheckBoxColumn DataField="open" DataType="System.SByte" HeaderText="Öppen för best." |
| SortExpression="open" UniqueName="open"> |
| </telerik:GridCheckBoxColumn> |
| <telerik:GridBoundColumn DataField="ordername" HeaderText="Namn" SortExpression="ordername" |
| UniqueName="ordername"> |
| </telerik:GridBoundColumn> |
| <telerik:GridEditCommandColumn ButtonType="ImageButton" UniqueName="EditCommandColumn"> |
| <ItemStyle CssClass="MyImageButton" /> |
| </telerik:GridEditCommandColumn> |
| </Columns> |
| <EditFormSettings ColumnNumber="2" CaptionDataField="ordername" CaptionFormatString="Ändra på order: {0}"> |
| <FormTableItemStyle Wrap="False"></FormTableItemStyle> |
| <FormCaptionStyle CssClass="EditFormHeader"></FormCaptionStyle> |
| <FormMainTableStyle GridLines="None" CellSpacing="0" CellPadding="1" BackColor="White" |
| Width="100%" /> |
| <FormTableStyle CellSpacing="0" CellPadding="2" Height="60px" BackColor="White" /> |
| <FormTableAlternatingItemStyle Wrap="False"></FormTableAlternatingItemStyle> |
| <EditColumn ButtonType="ImageButton" InsertText="Lägg till" UpdateText="Uppdatera" |
| UniqueName="EditCommandColumn1" CancelText="Avbryt"> |
| </EditColumn> |
| </EditFormSettings> |
| </MasterTableView> |
| <ClientSettings AllowDragToGroup="True"> |
| </ClientSettings> |
| <FilterMenu> |
| <CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation> |
| </FilterMenu> |
| </telerik:RadGrid> |
| public partial class Orders : System.Web.UI.Page |
| { |
| protected void Page_Load(object sender, EventArgs e) |
| { |
| if (!IsPostBack) |
| orderpartDS.WhereParameters.Add(new SessionParameter() { Name = "orderid", SessionField = "orderid", Type = TypeCode.Int32 }); |
| } |
| protected void ordersGrid_ItemCommand(object source, Telerik.Web.UI.GridCommandEventArgs e) |
| { |
| if (e.CommandName == RadGrid.PerformInsertCommandName) |
| { |
| if (e.Item.OwnerTableView.DataSourceID == "orderpartDS") |
| { |
| GridDataItem parentItem = (GridDataItem)(e.Item.OwnerTableView.ParentItem); |
| if (parentItem != null) |
| { |
| string orderId = parentItem.OwnerTableView.DataKeyValues[parentItem.ItemIndex]["orderid"].ToString(); |
| orderpartDS.InsertParameters["order.orderid"].DefaultValue = orderId; |
| } |
| } |
| } |
| } |
| } |
| <telerik:radtreeview id="clientTree" runat="server" skin="Vista" width="100%" showlineimages="true" height="300px" maxdatabinddepth="2"> |
| <databindings> |
| <telerik:radtreenodebinding textfield="ClientName" valuefield="ClientID" /> |
| </databindings> |
| </telerik:radtreeview> |
| ClientTree.DataFieldID = "ClientID"; |
| ClientTree.DataFieldParentID = "ParentID"; |
| ClientTree.DataValueField = "ClientID"; |
| ClientTree.DataTextField = "ClientName"; |
| ClientTree.DataSource = parsed (the List<ClientData>) |
| ClientTree.DataBind(); |
Pleas
Dim
Service As GridTextBoxColumnEditor = CType(item.EditManager.GetColumnEditor("Service"), GridTextBoxColumnEditor)
Dim YCell As TableCell = CType(Service.TextBoxControl.Parent, TableCell)
Dim rfv1 As New RequiredFieldValidator()
Service.TextBoxControl.ID =
"Service"
rfv1.ControlToValidate = Service.TextBoxControl.ID
rfv1.ErrorMessage =
"Please select a Service"
YCell.Controls.Add(rfv1)