Asp.net 如何根据第一个中继器的值在中继器内部绑定中继器
学生代码|学生名称|地区名称|地点名称|资产详细信息| 我必须根据每个学生显示资产详细信息。一个学生可以有多个资产详细信息,我如何在repeater或gridview中使用这些信息 我在SQL中拥有的表 学生代码|学生姓名|资产详细信息Asp.net 如何根据第一个中继器的值在中继器内部绑定中继器,asp.net,gridview,repeater,Asp.net,Gridview,Repeater,学生代码|学生名称|地区名称|地点名称|资产详细信息| 我必须根据每个学生显示资产详细信息。一个学生可以有多个资产详细信息,我如何在repeater或gridview中使用这些信息 我在SQL中拥有的表 学生代码|学生姓名|资产详细信息 1射线笔记本电脑 1个射线床 2个Raj电话 2拉杰充电器\ .... 我想在我的页面上显示每个唯一学生代码的资产详细信息,如下图所示。 学生代码|学生姓名|资产详细信息 1射线笔记本电脑 床 2个Raj电话 充电器 如何从sql中只点击一次就执行相同的操作?不
1射线笔记本电脑
1个射线床
2个Raj电话
2拉杰充电器\
.... 我想在我的页面上显示每个唯一学生代码的资产详细信息,如下图所示。
学生代码|学生姓名|资产详细信息 1射线笔记本电脑
床
2个Raj电话
充电器
如何从sql中只点击一次就执行相同的操作?不要使用两个中继器控件,而是尝试进行sql查询以获取此格式的数据
使用这样的查询
select studentID,
stuff((select ',' + AssetDetails
from Tbl_Student t2
where t2.studentID= t1.studentID
order by studentID
for xml path('')),1,1,'') as AssetDetailsString
from Tbl_Student t1
group by studentID
这将为每个studentID返回一行,其中AssetDetails以CSV格式显示在同一行中。您可以执行以下操作: 使用存储过程返回以下查询的两个结果集
SELECT DISTINCT StudentCode, studentname FROM StudentInfo
SELECT StudentCode, student name, Asset Details
为包含2个表的结果创建数据集。您可以将第一个表命名为“Student”,第二个表命名为“StudentInfo”
为表创建关系(请使用intellisense作为语法)
将GridView与数据集绑定
为资产详细信息创建一个模板列,并为该列插入一个repeater或Gridview
在GridView的ItemDataBound
事件上
DataRowView drv = (DataRowView)e.ItemData;
Repeater.DataSource = dv.CreateChildView();
为同一存储过程中但不同表中的父中继器和子中继器选择数据。将第一个中继器与其表(例如表[0])绑定,并在父中继器的ItemDataBound事件中通过在表[1]上应用LINQ绑定子中继器。在中继器内使用两个中继器一个中继器。。
DataRowView drv = (DataRowView)e.ItemData;
Repeater.DataSource = dv.CreateChildView();