嵌套数据表格

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") %>' >
<HeaderStyle Font-Bold="True" ForeColor="#CC0066" BackColor="#FFCCFF">HeaderStyle>
<Columns>
<asp:TemplateColumn HeaderText="工作编号">
<HeaderStyle Width="90px"></HeaderStyle>
<ItemTemplate></ItemTemplate>
</asp:TemplateColumn>  
<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 初始化表格
 
 

posted on 2004-06-10 17:17  hbzx  阅读(631)  评论(0)    收藏  举报

导航