Gridview上的可扩展行

时间:2008-11-19 14:51:10

标签: .net asp.net gridview

有没有人知道如何让Gridview中的每一行展开以显示具有元素形式的DIV或PANEL,即简单形式的文本框等。我不需要嵌套的Gridview显示结果或使用DynamicPopulate。

我已尝试过DataGrid可扩展行中的一些技术,但在尝试访问不属于Gridview的变量时遇到了一些问题。任何帮助,将不胜感激。我基本上可以使用Gridview中的可编辑模板,但我需要一个更清洁的解决方案。

7 个答案:

答案 0 :(得分:1)

我最近使用ASP.Net Listview控件做了类似的事情 - 您对生成的标记的控制比对标准Gridview的控制更多。

检查this post from Matt Berseth.

答案 1 :(得分:1)

我能够通过在创建的每个gridview行下面的div中注入div来成功完成此操作。在那里,我能够根据我正在使用的数据给他们独特的ID,在javascript中调用扩展函数,并按照我的意愿展开/折叠div。

这对于gridview来说是相当可行的,但是转发器也可以像返回表结构的简单AJAX实现一样工作。

这是我所做的非常相似的例子:

http://www.codeproject.com/KB/ajax/ExpandPanelGridView.aspx?display=Print

答案 2 :(得分:0)

如果你能负担得起,有许多gridview控件被ajaxified并且能够根据需要扩展每一行。我使用一套公司的控件,这些控件将保持无名(现在)并且对它们非常满意。

在gridview控件上进行谷歌搜索。

答案 3 :(得分:0)

我有一个解决方案,我在其中创建了一个额外的Gridview Row,然后使用我的元素将Panel注入该行。问题是我的CLOSE图像不断消失。

答案 4 :(得分:0)

可能不优雅,但我通过用转发器替换gridview来做到这一点。它仍然看起来像一个gridview,但我在每行数据之后添加了一个额外的行,其中包含一个可以通过javascript显示的不可见的子网格。显然,你要用面板替换子网格。一点点,但它运作正常。

答案 5 :(得分:0)

答案 6 :(得分:0)

GridView对于这种功能非常糟糕,因为它严格控制了它的UI。 ListView非常适合实现它。