【问题标题】:Expandable Rows on a GridviewGridview 上的可扩展行
【发布时间】:2010-09-23 01:24:47
【问题描述】:

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

我尝试了一些来自 DataGrid Expandable Row 的技术,但在尝试访问不属于 Gridview 的变量时遇到了一些问题。任何帮助,将不胜感激。我基本上可以使用 Gridview 中的可编辑模板来做到这一点,但我需要一个更简洁的解决方案。

【问题讨论】:

    标签: .net asp.net gridview


    【解决方案1】:

    我最近使用 ASP.Net Listview 控件做了类似的事情 - 与使用标准 Gridview 相比,您可以更好地控制生成的标记。

    查看this post from Matt Berseth.

    【讨论】:

    • ..由于我是 n00b,因此我不能发布多个超链接 - 此处的帖子:fooberry.com/2009/02/24/… 帮助我使用 jQuery 为面板制作动画。
    【解决方案2】:

    我能够通过在创建的每个 gridview 行下方的 div 中注入一个 div 来成功地做到这一点。在那里,我可以根据我使用的数据为他们提供唯一的 ID,在 javascript 中调用扩展函数,并根据需要展开/折叠 div。

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

    这是一个与我所做的非常相似的示例:

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

    【讨论】:

      【解决方案3】:

      如果你能负担得起,有许多 gridview 控件是 ajaxified 并且能够根据需要扩展每一行。我使用了来自一家公司的一组控件,该公司将(暂时)保持匿名并且对它们非常满意。

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          【解决方案5】:

          可能不太优雅,但我通过用中继器替换 gridview 来做到这一点。它看起来仍然像一个网格视图,但我在每行数据之后放置了一个额外的行,其中包含一个可以通过 javascript 显示的不可见子网格。显然,您将用面板替换子网格。有点花里胡哨,但它工作正常。

          【讨论】:

            【解决方案6】:
            【解决方案7】:

            GridView 对于这种功能来说是很糟糕的,因为它严格控制它的 UI。 ListView 非常适合实现这一点。

            【讨论】:

              猜你喜欢
              • 2011-09-02
              • 1970-01-01
              • 2018-10-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2017-12-14
              相关资源
              最近更新 更多