利用ASP.NET DataGrid显示主次关系的数据

    技术2022-05-11  44

     

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Test_Default" %> <!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 runat="server"> <asp:DataGrid ID="DataGrid1" BorderColor="#0099FF" runat="server" ShowHeader="False" Width="470px" CellPadding="0" CellSpacing="0" AutoGenerateColumns="False" BorderWidth="2px" OnItemDataBound="DataGrid1_ItemDataBound"> <Columns> <asp:TemplateColumn> <ItemTemplate> <table cellspacing="0" cellpadding="0" width="100%" border="0"> <tr> <td bgcolor="#FF6600"> <b>订单号: <%# Eval("OrderID") %> </b> </td> </tr> <tr> <td align="right"> <asp:DataGrid ID="DataGrid2" runat="server" AutoGenerateColumns="False" BorderColor="#33FF33" <font color="#ff0000"><strong> DataKeyField="OrderID"</strong></font> DataSource='<font color="#ff0000"><strong><%# ((System.Data.DataRowView)Container.DataItem).CreateChildView("OrderRelation") %></strong></font>'> <HeaderStyle Font-Bold="True" ForeColor="#CC0066" BackColor="#FFCCFF"></HeaderStyle> <Columns> <asp:BoundColumn Visible="False" DataField="OrderID" ReadOnly="True"></asp:BoundColumn> <asp:TemplateColumn HeaderText="产品名称"> <HeaderStyle Width="300px"></HeaderStyle> <ItemTemplate> <font color="#ff0000"><strong> <%# Eval("ProductName") %></strong></font> </ItemTemplate> </asp:TemplateColumn> <asp:BoundColumn DataField="UnitPrice" HeaderText="单价"></asp:BoundColumn> <asp:BoundColumn DataField="Quantity" HeaderText="数量"></asp:BoundColumn> <asp:BoundColumn DataField="Discount" HeaderText="折扣"></asp:BoundColumn> </Columns> </asp:DataGrid></td> </tr> </table> </ItemTemplate> </asp:TemplateColumn> </Columns> </asp:DataGrid> </form> </body> </html> using System; using System.Data; using System.Data.SqlClient; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; public partial class _Test_Default : System.Web.UI.Page { protected void Page_Load( object sender, EventArgs e ) { SqlConnection OrdersConnection = new SqlConnection(@"User ID=sa;Password=;Initial Catalog=NorthWind;Server=(local)"); SqlDataAdapter OrderAdapter = new SqlDataAdapter("Select * from Orders; select OrderID ,Products.ProductName, [order Details].Unitprice,[order Details].Quantity,[order Details].discount from [order Details],Products where [Order Details].ProductId=Products.ProductID", OrdersConnection); DataSet OrderDataSet = new DataSet(); OrderAdapter.Fill(OrderDataSet); <font color="#ff0000"><strong> OrderDataSet.Tables[0].TableName = "Orders"; OrderDataSet.Tables[1].TableName = "Order Details"; DataColumn Parent = OrderDataSet.Tables["Orders"].Columns["OrderID"]; DataColumn Child = OrderDataSet.Tables["Order Details"].Columns["OrderID"]; DataRelation OrderRelation = new DataRelation("OrderRelation", Parent, Child, false); OrderDataSet.Relations.Add(OrderRelation); DataGrid1.DataSource = OrderDataSet.Tables["Orders"].DefaultView;</strong></font> DataBind(); } protected void DataGrid1_ItemDataBound( object sender, DataGridItemEventArgs e ) { e.Item.Cells[0].BackColor = System.Drawing.Color.Ivory; } }

    最新回复(0)