【问题标题】:Nested Grid of Results in ASP.NET WebFormsASP.NET WebForms 中的嵌套结果网格
【发布时间】:2018-07-23 10:45:11
【问题描述】:

我需要向现有网站添加一个新页面,该网站全部用 ASP.NET Webforms 编写。这个新页面将具有搜索功能,它将以网格的形式返回记录。 但是,还有一个额外的要求,即结果集中每一行的左侧都有一个图标,用户可以单击该图标来展开并查看更多结果。 如果用户单击该图标,则新结果网格将立即出现在原始结果网格的该行下方。此辅助结果网格将显示与来自单独数据源的主网格不同的信息(即列的数量和名称将不同)。我试图在下图中说明这一点(为糟糕的 MSPaint 技能道歉)

因此,橙色行是主要网格结果,绿色是次要网格,只有在单击主要网格行左侧的绿色 + 图标时才会显示出来。

我有几个问题:

  1. 是否可以使用 ASP.NET WebForms 中的现有服务器控件对象(例如 GridView 对象)执行类似操作?如果可能的话,我想坚持使用 WebForms,以使其与项目的其他部分保持一致,但我意识到这可能是不可能的。
  2. 如果不是,那么有什么好的方法可以做到这一点?例如,如果需要,我愿意在服务器端使用客户端编码和 Web API 来实现这一点,尽管我不是 100% 确定如何去做。

【问题讨论】:

    标签: c# asp.net .net webforms


    【解决方案1】:

    我认为您最好的选择是使用 TreeView,因为至少从设计的角度来看,它完全符合您的描述:

    MSDN Page

    编辑: 由于您想在 TreeView 中显示多个列,因此我不完全确定是否可以不创建您自己的可能需要大量工作的自定义控件或使用第三方控件。然而,网上有一些可以满足您的要求(参考:This Answer):

    【讨论】:

    • 谢谢,我会调查一下
    • 我不确定这是否是我要找的。我看到的所有示例都在每个节点返回一条数据。我希望返回一组数据。所以换句话说每个节点将有 8 或 10 列数据(与网格的一行相同)
    • 我不确定在不使用第三方控件的情况下这是否完全可行,我环顾四周并更新了答案。
    猜你喜欢
    • 1970-01-01
    • 2010-10-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    相关资源
    最近更新 更多