我看了一堆例子,我被困在这个问题上.
数据
CategoryId OptionId CategoryName OptionName
1 2 Type Black & White
1 3 Type Color
2 4 Print Speed Less than 21 ppm
2 5 Print Speed 21-30 ppm
2 6 Print Speed 31-45 ppm
2 7 Print Speed 46-55 ppm
2 8 Print Speed 56-70 ppm
2 10 Print Speed 71 plus ppm
3 11 Software 3.5
3 12 Software 4
4 13 User Interface 7" Touch-Screen
4 14 User Interface 8.5" Touch-Screen
4 15 User Interface 10.1" Touch-Screen
4 16 User Interface 15.4" Touch-Screen我希望父中继器在CategoryName上执行不同的操作,但是当我这样做时,我不会在嵌套的中继器中得到所有的OptionNames。我使用一个dataTable来填充父中继器。我试过linq和distinct,它将正确显示分类名称和选项,但我需要ID在嵌套中继器中.
我正在使用这个例子-- Databind repeater using Linq with group by --如何更改Linq以包含更多的字段,我对linq不是很熟悉。
Parent Repeater Databind
Repeater1.DataSource = (from x in csvData.AsEnumerable() select x["category"]).Distinct();
Nested Repeater Databind
rptr.DataSource = csvData.AsEnumerable().Where(x => x["category"].Equals(e.Item.DataItem));发布于 2014-08-21 20:20:52
var output = catOptData.AsEnumerable()
.Select(x => new { CategoryId = x["CategoryId"], CategoryName = x["CategoryName"] })
.Distinct();这是为父母做的,对于嵌套的我做了
rptr.DataSource = catOptData.AsEnumerable().Where(x => x["CategoryName"].Equals(DataBinder.Eval(e.Item.DataItem, "CategoryName").ToString())).AsDataView();https://stackoverflow.com/questions/25384663
复制相似问题