我有一个datagrid,其中一些文本需要跨越多列。这是我需要的一个例子。
行#图像名称价格日期
1 xxx我的名字$ 99 1/1/2009 XXX xxx长描述在这里
2 xxx name 2 $ 99 1/1/2009
XXX
xxx另一个长描述
使用数据网格在Asp.Net中是否可以这样?有关如何做到这一点的任何建议吗?
答案 0 :(得分:1)
您可能会发现使用ASP.Net Repeater更容易,每个DataItem有多行。这样,您就可以完全控制布局。
技术上可以使用ASP.Net GridView来实现,但我怀疑这不是最优雅的解决方案。 GridView(和Datagrid)是开箱即用的,每个DataItem一行。
以下是一些示例ASP.Net,其中包含一个Repeater,它说明了一种可能适合您的方法:
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<table>
</HeaderTemplate>
<tr>
<th>
Col 1
</th>
<th>
Col 2
</th>
<th>
Col 3
</th>
</tr>
<ItemTemplate>
<tr>
<td>
<%# Eval("Field1") %>
</td>
<td>
<%# Eval("Field2") %>
</td>
<td>
<%# Eval("Field3") %>
</td>
</tr>
<tr>
<td>
<%# Eval("Field4") %>
</td>
<td colspan="2">
<%# Eval("Field5") %>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
请注意,ItemTemplate包含两个HTML表行,第二个包含一个colspan为2的td。
希望有所帮助。
答案 1 :(得分:1)
你必须使用DataGrid吗?我建议使用ListView控件。它具有您需要的所有功能,并使用模板进行完整的UI控制。