在 ASP.net 中创建嵌套复选框列表的最佳方法是什么?
我应该使用数据网格吗?我应该使用启用复选框的树视图吗?
我在数据表中有我需要的数据,并希望遍历它以创建一个复选框列表,其中每个父复选框都有一个嵌套的 chechboxlist。
干杯!
在 ASP.net 中创建嵌套复选框列表的最佳方法是什么?
我应该使用数据网格吗?我应该使用启用复选框的树视图吗?
我在数据表中有我需要的数据,并希望遍历它以创建一个复选框列表,其中每个父复选框都有一个嵌套的 chechboxlist。
干杯!
我从来都不是网格的粉丝,相反,我使用转发器/列表视图,并且对于每一行我都有一个负责显示行数据的 UserControl,以及用于子数据的更多转发器。
小例子:
<asp:repeater id... runat...>
<itemtemplate>
<uc1:MyRowControl id... runat... OnSomeEvent='MyRowHandler' Model='<%# (MySubData)Container.DataItem %>'
</itemtemplate>
</asp:repeater>
内部等等。当您这样做时,事件很容易处理。
我会为此使用 Treeview,但 ASP.NET 2.0 Treeview 控件没有模板化节点。如果要使用 Treeview,它必须是支持模板的第三方控件。
您还可以使用 CSS 定位或表格“滚动您自己的”用户控件(或复合控件,如果您有野心的话)。更多的工作,但免费。
这实际上取决于您的数据需求、数据库架构和 UI 技术。
对于网站,我在使用分层“路径”创建的嵌套 UL/LI 标签方面取得了很大成功;这允许我通过查找子列表来隐藏/检查/等父项下的所有复选框。
我使用 Itzak Ben-Gan 的“路径”技术;他在他的网站 www.sql.co.il 上有很多与 MS SQL Server 相关的东西,并且在www.sqlmag.com上还有一篇文章“维护层次结构” ,带有可下载的代码。
HTH。