[英]Repeater - compare items and group
我有一个中继器,此刻在我的第一列(它显示的console type
列)中:
在我的列标题下:PS4,PS4,PS4,XBOX ONE,XBOX ONE和Nintendo wii
因此它正在对其进行排序,但我希望对其进行分组,以便仅在我认为应该有一种方法可以将dataItemRow与以前的dataItemRow进行比较的情况下才显示一个控制台,但不确定如何进行。 有什么建议么?
void rptItems_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
//code here that goes through all items and compares items
}
}
人口:
SqlDataAdapter da = new SqlDataAdapter("Stored Procedure", conn);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.Add(new SqlParameter("@Admin", "ALL"));
DataSet dataset = new DataSet();
da.Fill(dataset);
rptItems.DataSource = dataset.Tables[0];
rptItems.DataBind();
背后的主要思想是use two repeater controls
(任何基于模板的渲染控件)。 外部转发器控件的ItemTemplate将托管标头信息和内部转发器控件。 内部转发器控件将托管与标题(“分组依据”列)相对应的记录
Item数据绑定中的主要逻辑是
- 获取绑定的记录,并获取与group by列对应的所有记录,并将其添加到临时列表中
- 使用绑定记录中的值构建标题信息
- 将临时列表(从1)中的记录绑定到内部转发器中
- 忽略绑定的记录和同一组的其他记录
如果您需要代码帮助,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.