嵌套数据表格
aspx页面:
<asp:DataGrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 16px" runat="server" Width="520px" Height="272px" DataKeyField="job_id">
<Columns>
<asp:TemplateColumn HeaderText="模板">
<HeaderStyle HorizontalAlign="Center" Width="50px">
</HeaderStyle>
<ItemTemplate>
<asp:DataGrid ID="dd" AutoGenerateColumns="false" BorderColor="#33FF33" Runat="server" DataKeyField="job_id" DataSource='<%# <%# DataBinder.Eval(Container.DataItem, "job_id") %> ((System.Data.DataRowView)Container.DataItem).C reateChildView("jobRelation") %>' >
<asp:BoundColumn DataField="fname" HeaderText="名字"></asp:BoundColumn></Columns>
</asp:DataGrid>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
csharp代码:
#region 初始化表格
private void InitGrid()
{
/*得到工作和雇员详细信息*/
DataSet ds = GetDataSet("select * from jobs;select * from employee");
/*设置两个表名字*/
ds.Tables[0].TableName = "jobs";
ds.Tables[1].TableName = "employee";
/*在基于Job_ID字段的两个表之间建立父子关系 */
DataColumn colParent = ds.Tables["jobs"].Columns["job_id"];
DataColumn colChild = ds.Tables["employee"].Columns["job_id"];
DataRelation jobRelation = new DataRelation("jobRelation",colParent,colChild,false);
/*为DataSet 添加关系*/
ds.Relations.Add( jobRelation );
/*把DataGrid绑定到jobs表*/
DataGrid1.DataSource = ds.Tables["jobs"].DefaultView; DataGrid1.DataBind();
}
#endregion 初始化表格
浙公网安备 33010602011771号