1

是否可以将两个列表绑定到一个中继器(创建一个表),以使用两个列表中的数据?
我有一个包含操作的列表和一个包含用户的列表。我想显示一些关于动作的信息,以及关于发出动作的用户的信息。我可以将有关操作的信息与有关用户的信息结合起来吗?

这是一张桌子的草图,它应该是这样的:

身份证 | 时间 | 行动信息 | 用户名 | 全名 |用户信息

乔皮

4

2 回答 2

2

与其绑定两个数据源并尝试对其进行Repeater排序,您需要做的是在将数据绑定到转发器之前将其组合成一个项目。

至于你如何做到这一点,这将取决于你的数据的结构。

如果两个列表的相同索引处的项目是“属于一起”的项目,那么您可以只使用Zip.

var query = actions.Zip(users, (a,b)=> new CombinedStructure(a,b));

您可以创建一个新的自定义类型来存储需要在每个显示行中的数据,或者使用匿名类型并手动分配每个字段。

如果索引不对应,那么您可能需要加入

var query = from action in actions
            join user in users
            on user.ID = action.UserID
            select ...
于 2012-11-08T17:14:35.580 回答
1

不,但您可以使用 LINQ 加入他们:

并绑定结果。

于 2012-11-08T17:14:25.127 回答