如何在同一页面显示父子表的内容
2005-06-11 13:44
369 查看
1、使用 DataView 进行关系导航
如果 DataSet 中的表之间存在关系,则可以使用 DataRowView 的 CreateChildView 方法为父表中的行创建一个 DataView,该 DataView 包含来自相关子表的行。
关键代码:
首先要定义关系:
private DataRelation 关系对象;
关系对象=数据集名.Relations.Add("关系名",数据集名.表1名. Columns["关系列名"],数据集名.表2名. Columns["关系列名"]);
其次在DataGrid1_SelectedIndexChanged事件中写以下代码:
BindData(); //数据绑定
DataRow crRow;//声明数据行
int iIdx;
iIdx = DataGrid1.SelectedIndex ;//获得在DataGrid中所选择的行号
crRow = this.数据集名.数据表1名.Rows[iIdx];//获得所选择的行
Label3.Text="";
//通过DataRow的GetChildRows()获得子表中与之关联的所有行;
foreach(DataRow r in crRow.GetChildRows(“关系名”))
{
Label3.Text += r["订单ID"] + ", ";
}
DataView parentTableView = new DataView(数据集名.数据表1名); //父表的数据视图
DataRowView currentRowView = parentTableView[iIdx]; //父表行的数据视图
//通过DataRowView的CreatChildView()方法获得子表的数据表视图
DataGrid2.DataSource = currentRowView.CreateChildView(“关系名”);
DataGrid2.DataBind();
2、导航表间关系
DataRelation 的主要功能之一是允许您在 DataSet 中从一个 DataTable 导航至另一个 DataTable。它使您能够在给定相关 DataTable 中的单个 DataRow 的情况下检索一个 DataTable 中的所有相关 DataRow 对象。例如,当建立客户表和订单表之间的 DataRelation 后,可以使用 DataRow.GetChildRows 检索特定客户行的所有订单行。
如果 DataSet 中的表之间存在关系,则可以使用 DataRowView 的 CreateChildView 方法为父表中的行创建一个 DataView,该 DataView 包含来自相关子表的行。
关键代码:
首先要定义关系:
private DataRelation 关系对象;
关系对象=数据集名.Relations.Add("关系名",数据集名.表1名. Columns["关系列名"],数据集名.表2名. Columns["关系列名"]);
其次在DataGrid1_SelectedIndexChanged事件中写以下代码:
BindData(); //数据绑定
DataRow crRow;//声明数据行
int iIdx;
iIdx = DataGrid1.SelectedIndex ;//获得在DataGrid中所选择的行号
crRow = this.数据集名.数据表1名.Rows[iIdx];//获得所选择的行
Label3.Text="";
//通过DataRow的GetChildRows()获得子表中与之关联的所有行;
foreach(DataRow r in crRow.GetChildRows(“关系名”))
{
Label3.Text += r["订单ID"] + ", ";
}
DataView parentTableView = new DataView(数据集名.数据表1名); //父表的数据视图
DataRowView currentRowView = parentTableView[iIdx]; //父表行的数据视图
//通过DataRowView的CreatChildView()方法获得子表的数据表视图
DataGrid2.DataSource = currentRowView.CreateChildView(“关系名”);
DataGrid2.DataBind();
2、导航表间关系
DataRelation 的主要功能之一是允许您在 DataSet 中从一个 DataTable 导航至另一个 DataTable。它使您能够在给定相关 DataTable 中的单个 DataRow 的情况下检索一个 DataTable 中的所有相关 DataRow 对象。例如,当建立客户表和订单表之间的 DataRelation 后,可以使用 DataRow.GetChildRows 检索特定客户行的所有订单行。
相关文章推荐
- 如何在一个页面内点击一个按钮,然后在下方显示内容?
- 如何在JSP页面显示Oracle数据库内容
- Pega How To系列之一:如何在页面上动态显示/隐藏内容 ----CheneyWang
- Android : 如何在WebView显示的页面中查找内容
- 如何在html页面显示<…>标签内容
- web中,如何读取Word内容(包含表格,但不包含图片)并且显示在页面中或保存进数据库中
- 关于Aspcms如何嵌入整个网站,以及网站导航所指向页面的内容显示
- 如何使用JS实现页面内容随机显示
- 如何在限制页面中显示的内容的字数?
- 关于Aspcms如何嵌入整个网站,以及网站导航所指向页面的内容显示
- 如何在JSP页面显示mysql数据库内容 (二)
- DataList中如何格式化字符串(页面显示评论内容显示)
- flask如何完成数据库内容在html页面上的显示以及相应数据的删除
- SugarCRM - 如何在Contact的详细页面修改显示内容
- 如何在JSP页面显示mysql数据库内容 (二)
- web中,如何读取Word内容(包含表格,但不包含图片)并且显示在页面中或保存进数据库中
- 如何实现超长、超宽报表内容完整显示在一张纸/页面上
- 如何在JSP页面显示mysql数据库内容 (二)
- 表单提交到下一个页面后,再点击IE上的后退,如何能让表单内容再次显示出来?(以及当前页禁止IE返回按钮js)
- 当聊天室的内容超出页面范围时, 如何让页面刷新后 显示最下面的内容