2010-06-03 88 views
1

我已经给出了一个模型,我不知道是否可以在ASP.NET中进行编码,而不是真正的HTML和JavaScript向导。在另一个GridView的选定行内显示ASP.NET GridView

我想要一个GridView,当选中一行时,选定的行将展开,并在选定的行下方显示一组附加信息,其中还包括另一个小型GridView。这个想法是全部在线的。因此,如果用户选择第4行,那么附加信息将出现在第4行下方,然后在父GridView将继续第5行之后的附加信息。

最终,我想要做一个多选择类型的设置,但首先我需要弄清楚这是否可能。此外,解决方案必须是508 Compliant

我考虑的一个解决方案是只使用一个“列”。然后,我会将所有字段放在ItemTemplate中,并将我的详细面板内容放入EditItemTemplate中,而不是选择行,将其设置为编辑模式。这个解决方案的问题是如果我把所有东西都放在一个巨大的ItemTemplate中,我就失去了多列的功能。

任何和所有的建议或想法,赞赏。

回答

1

您所描述的内容最好用ListView控件完成。它需要更多的模板工作来设置网格视图,但是您可以更好地控制它,并且可以模拟GridView的外观。您可以将选定项目模板设置为包含绑定到详细数据的另一个ListView(或GridView)。

+0

但是,该解决方案仍然会提供一个GridView提供的动态列大小? 我的数据的一列是地址信息。有些地址很大,有些很小。 GridView动态确定列大小的方式非常有用。 – 2010-06-03 14:26:51

+0

如果您为项目模板使用表格行,您将得到相同的结果 – alejandrobog 2010-06-03 14:55:55

+0

gridview只是生成一个表,这是automagic列的大小来自哪里(如果您自己没有覆盖它)。如果您的数据是表格,请在模板中使用表格。 – Barry 2010-06-03 14:56:06

1

我做这个使用一个ListView内GridView和使用ajaxcontroltoolkit collapsible panel

您的家长名单将是一个列表视图,将有2个表行对于每个项目,第一行的父列,在第二行使用colspan并添加一个包裹在可折叠面板上的gridview