asp.net - 显示一个列表作为值的字典?

时间:2009-08-20 00:22:51

标签: c# asp.net

我正在寻求有关在ASP.Net(C#)中执行此操作的最佳方法的建议。

我正在尝试创建一个列出我们办公室所有员工的页面,并总结了4周的时间表。

我每周都有一个时间表对象可以完成所有这些,我想我可以返回一个字典>在那里获取数据。但是数据绑定的最佳方法是什么?

我希望它显示的是这样的:

StaffMember - WEEK 1 (DATE) - WEEK 2 (DATE) - WEEK 3 (DATE) - WEEK 4 (DATE)
---------------------------------------------------------------------------
BOB BUILDER - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[]
OLD MATE    - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[]
所有员工等等。 []表示一个复选框,使用此页面的人将在他们处理了与该周时间表有关的内容时进行核对。

我的想法是这样的: - 具有项目模板设置的列表视图,以具有表行和单元格以及值的文字 - onitemdatabound获取keyvaluepair,然后将staff成员文字设置为staff成员的名称(这是键),然后将每周的每个值设置为列表中相应时间表的值

问题是我不确定如何动态设置每周的日期,我想我可以对listview的模板进行findcontrol或其他什么?或者将表格设置在列表视图之外?虽然所有人都觉得有点乱,所以我想我会从stackoverflow的聪明人那里得到一些建议。有更简单的方法吗?使用像.net那样令人不悦的复杂词典,还有另一种方法吗?

1 个答案:

答案 0 :(得分:0)

您可以快速了解一下ObjectDataSource的实施情况。由于您最初只会从数据中进行选择,因此可能相对容易实现。

您可以构建一个具有Date属性的类,您可以使用该属性来过滤对字典的Select()调用。然后你可以在代码中操作你的ObjectDataSource,只需在需要的时候给它一个新的日期值,然后再次在你的网格上调用Databind()。