在Gridview中可扩展?

时间:2010-09-07 18:20:50

标签: asp.net

我正在研究asp.net项目并在其中一个页面上使用Gridview控件。我希望Accordion样式的表格看起来像Gridview上的视图(带有列)。这就是我想要做的。比如,我有名为name,ID,Name和Year的列,并且有几行,如

  1. Ford 2010
  2. Honda 2010
  3. Suzuki 2010
  4. ...
  5. 现在我想做的是我想让每一行都可扩展,所以如果我在上面的例子中点击1,那么row1将进一步展开并提供更多细节,比如 1楼

    1. 福特2010
      • 找到30辆车。
    2. 这可以在Gridview中实现吗? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

是的,这可以通过使用ItemTemplates在GridView中实现。您将使用基本详细信息定义基本的ItemTemplate,然后使用要显示的其他详细信息进行一些自定义编程,而不是通过OnRowDataBound事件使用默认数据绑定。

如果您所做的只是显示带有找到的车辆数量的标签,您可以在ItemTemplate中包含一个标签控件,并根据SelectedIndex是否与要绑定的行匹配来显示/隐藏标签。

如果您想要在选定的行中做一些更有趣的事情,我建议对EditItem模板进行“覆盖”。您可以使用EditItem模板显示所选行的完全不同的布局,并通过GridView的EditIndex属性对此进行测试。这样做的另一个好处是你可以使用“内联”绑定方法获取GridView中的数据(你会在.aspx页面中看到<%=或<%#标签)而无需大量编码在页面后面的代码中。

有关常规数据绑定过程(包括itemtemplates)的更多详细信息,请查看ASP.net站点上的this tutorial

另请查看页面侧栏上的Master / Detail文章链接。其中一个解决方案也可以很好地满足您的需求。