Asp.net datagrid中的跨列

Asp.net datagrid中的跨列,asp.net,datagrid,Asp.net,Datagrid,我有一个datagrid,其中一些文本需要跨越多个列。这是我需要的一个例子 行#图像名称价格日期 1 xxx我的名字$99 1/1/2009 xxx 这里有很长的描述 2 xxx姓名2$99 1/1/2009 xxx 另一个详细的描述 在Asp.Net中使用datagrid是否可以实现类似的功能?有什么建议吗?您可能会发现使用ASP.Net中继器更容易,并且每个数据项有多行。这样,您就可以完全控制布局 从技术上讲,使用ASP.NETGridView可以做到这一点,但我怀疑这不是最优雅的解决方案。

我有一个datagrid,其中一些文本需要跨越多个列。这是我需要的一个例子

行#图像名称价格日期

1 xxx我的名字$99 1/1/2009 xxx 这里有很长的描述

2 xxx姓名2$99 1/1/2009 xxx
另一个详细的描述


在Asp.Net中使用datagrid是否可以实现类似的功能?有什么建议吗?

您可能会发现使用ASP.Net中继器更容易,并且每个数据项有多行。这样,您就可以完全控制布局

从技术上讲,使用ASP.NETGridView可以做到这一点,但我怀疑这不是最优雅的解决方案。GridView(和Datagrid)是为每个DataItem一行而设计的

下面是一些ASP.Net示例,其中包含一个转发器,说明了一种可能适合您的方法:

        <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>

第1列
第2列
第3列
请注意,ItemTemplate包含两个HTML表行,其中第二行包含colspan为2的td


希望这有点帮助。

您必须使用DataGrid吗?我建议使用控件。它具有您所需的所有功能,并使用模板进行完整的UI控制。

+1-对于这种情况,这将是一个比DataGrid更好的控制。这也会起作用。我个人觉得ListView控件在显示表格数据时有点笨重,我更喜欢中继器。不过,你可以通过ListView获得更多的即时信息(更丰富的事件模型等)。我只建议你在需要功能时使用它,否则中继器就可以了。大多数使用DataGrid或GirdView的用户需要的不仅仅是显示功能。+1对您来说也是如此-这也比DataGrid更好地控制这种情况。谢谢。使用了中继器,并对其进行了一些定制,以满足我的需要。