<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Telerik_Default" %>
<%@ Register TagPrefix="telerik" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="Sc1" runat="server"></asp:ScriptManager>
<div>
<telerik:RadGrid ID="RadGrid1" runat="server" Width="800px" OnNeedDataSource="RadGrid1_NeedDataSource"
OnDetailTableDataBind="RadGrid1_DetailTableDataBind">
<MasterTableView HierarchyLoadMode="ServerBind">
<DetailTables>
<telerik:GridTableView>
</telerik:GridTableView>
</DetailTables>
</MasterTableView>
</telerik:RadGrid>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Telerik.Web.UI;
public partial class Telerik_Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void RadGrid1_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
List<Order> orders = new List<Order>();
for(int i=0; i < 5; i++)
{
Order order = new Order();
order.Id = i;
order.ListOrderDetail = new List<OrderDetail>();
for (int j = 0; j < 3; j++)
{
OrderDetail detail = new OrderDetail();
detail.Article = string.Format("Order {0} Detail {1} Article Text",i,j);
detail.Qte = 10 % (j + 1);
detail.Price = 10d / (j + 1);
order.ListOrderDetail.Add(detail);
}
orders.Add(order);
}
RadGrid1.DataSource = orders;
}
protected void RadGrid1_DetailTableDataBind(object sender, GridDetailTableDataBindEventArgs e)
{
e.DetailTableView.DataSource = ((Order)e.DetailTableView.ParentItem.DataItem).ListOrderDetail;
}
public class Order
{
public Order()
{
}
public int Id { get; set; }
public List<OrderDetail> ListOrderDetail { get; set; }
}
public class OrderDetail
{
public OrderDetail()
{
}
public string Article { get; set; }
public int Qte { get; set; }
public double Price { get; set; }
public double PriceHT { get { return Qte * Price; } }
}
}
0 comments:
Post a Comment