学生代码| student.Name |地区名称|位置名称|资产详情|
我必须根据每个学生显示资产详情。一个学生可以有多个资产详细信息,我如何在转发器或网格视图中使用它。
我在SQL中拥有的表。
学生代码|学生姓名|资产详情
1雷笔记本电脑
1雷床
2 Raj Phone
2 Raj充电器\
....
我想在我的页面上显示每个唯一学生代码的资产详细信息。
学生代码|学生姓名|资产详情
1雷笔记本电脑
床
2 Raj Phone
充电器
如何只使用sql中的一个匹配执行相同操作。?
答案 0 :(得分:0)
尝试进行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
这将为同一行中具有CSV格式的Assestdetails的每个studentID返回单行
答案 1 :(得分:0)
您可以执行以下操作:
使用存储过程为以下查询返回两个结果集
SELECT DISTINCT StudentCode, studentname FROM StudentInfo
SELECT StudentCode, student name, Asset Details
使用2个表为结果创建一个DataSet。您可以将第一个表命名为“Student”,将第二个表命名为“StudentInfo”
为表创建关系(请使用intellisense语法)
DataSet.Relationships.Add("RelationshipName",Table1.StudentCode,Table2.StudentCode)
使用DataSet绑定GridView
为“资产详细信息”创建“模板”列,并为该列插入转发器或Gridview。
在GridView的ItemDataBound
事件上。
DataRowView drv = (DataRowView)e.ItemData;
Repeater.DataSource = dv.CreateChildView();