ASP.NET 2.0 嵌套数据网格?
Posted
技术标签:
【中文标题】ASP.NET 2.0 嵌套数据网格?【英文标题】:ASP.NET 2.0 Nested Datagrid? 【发布时间】:2010-10-06 17:10:18 【问题描述】:我有一个设计有许多 html 表格的页面,这些表格根据当时需要显示的内容隐藏或显示。这些表格中有各种 ASP.NET 标准的 Web 控件,通常是复选框、单选按钮列表、文本输入框、标签等,一切正常。
我正在尝试将 DataGrid 放在其中一行中(在标签下)并收到错误消息:
解析器错误消息:System.Web.UI.HtmlControls.HtmlTableCellCollection 必须具有“System.Web.UI.HtmlControls.HtmlTableCell”类型的项目。 “MIIRS:DATAGRID”属于“MIIRS.WebControls.DataGrid”类型。
(如果您想知道,MIIRS DataGrid 继承了 DataGrid 类并为其添加了一些次要功能)
我知道我可以重新设计页面以将 DataGrid 放在表格之外,但如果我能找到避免这种情况的方法,那就是我想要做的。
所以我的问题是:有没有办法让 HtmlTable 接受嵌套在其中的 DataGrid、GridView 或类似对象?并且更改为 asp 表标签是否可以接受?或者任何其他创造性的解决方案,以尽量减少拆分表的必要性,或者以我拥有的方式蚕食我的系统? :)
【问题讨论】:
【参考方案1】:嵌套表和数据网格?哦,伙计,您可能不需要那么复杂,我相信您可以找到一种更简单的方法来实现您的 UI 目标。
要么,要么......逃跑,跑得又快又狠!跑到你握手为止
【讨论】:
喜剧+1,理智的建议避免嵌套数据网格。 不,表格不是嵌套的。数据网格应该在其中一行中(作为页面布局的一部分)。然而,我可以将它放在表格结构之外,然后显示或隐藏它(我想我把它放在一个 div 中) 我认为这样你会有更好的机会 - .NET 中的动态控件不过是麻烦,尤其是当你开始回发时。渲染所有内容并使用 js/cs 来操作它。如果你想变得更精简,使用 AJAX 加载你不想立即显示的部分【参考方案2】:我找到了这个问题的一个可能答案。使用标签和 CSS 可以隐藏和显示 HTML 区域,因此虽然我无法在表格中获取 Datagrid,但我可以将其放在表格之外并简单地显示或隐藏它。当它被放置在表格的“中间”时,它需要将表格分成两部分(之前和之后)。
这是迄今为止我发现的让页面上的内容保持一致的最佳方式。我仍然想知道为什么某些控件无法放入 HtmlTable 行中。
【讨论】:
【参考方案3】:您可能想看看这个演练...
http://www.codeproject.com/KB/webforms/EditNestedDataGrid.aspx
【讨论】:
这当然看起来像是一种解决方案,但是对于我需要做的事情来说太复杂了!我没有隐藏和显示表格,而是使用 CSS 隐藏和显示单个 ,它工作得更好,这样我就可以让 HtmlTable 结构之外的项目随之显示或消失。以上是关于ASP.NET 2.0 嵌套数据网格?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 JQuery c# 在嵌套网格视图 ASP.net 中使用日期时间选择器
如何使用 ASP.NET MVC 在 Kendo UI Grid 中实现 N 级嵌套层次结构
如何使用 vb.net 2003 在 asp.net 1.1 中手动填充数据网格?