asp.net - 如何将行跨度添加到 GridView 中的第一列?

标签 asp.net gridview row html-table

我有一个 gridview,在第一列中我添加了一个表格来创建第二行:

enter image description here

我希望发货人地址跨越 GridView 中的所有列。

代码:

   <asp:GridView  CssClass="printTableResults" runat="server" ID="gvHawb" 
                                    ShowHeaderWhenEmpty="false"
                                    DataKeyField="ID" 
                                    OnRowDataBound="gvHawb_RowDataBound"
                                    AutoGenerateColumns="false"
                                    allowpaging="false">
                                    <HeaderStyle CssClass="printTableHeader" /> 
                                    <RowStyle CssClass="borderB" />
                                    <Columns> 
                                        <asp:TemplateField  HeaderText="HAWB" HeaderStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <table>
                                                    <tr>
                                                        <td><asp:Label ID="lblAwbNumber" runat="server" Text='<%# Eval("AWBNumber") %>'></asp:Label></td>
                                                    </tr>
                                                    <tr>
                                                        <td><label>Shipper</label></td>
                                                        <td><asp:Label ID="lblFullShipperAddress" runat="server" Text='<%# Eval("FullShipperAddress") %>'></asp:Label></td>
                                                    </tr>   
                                                </table>
                                            </ItemTemplate>
                                        </asp:TemplateField> 
                                        <asp:TemplateField HeaderText="Pieces" HeaderStyle-Font-Bold="true" ItemStyle-HorizontalAlign="Center">
                                            <ItemTemplate>
                                                <asp:Label ID="lblPieces" runat="server" Text='<%# Eval("TotalNoOfPieces") %>'></asp:Label>
                                            </ItemTemplate>
                                        </asp:TemplateField>
                                 </Columns>                
                            </asp:GridView>

有没有办法让shipper跨越gridview的行? 该 gridview 中共有 8 列。

最佳答案

您可以尝试将包含发货人地址的表格移至 ItemTemplate外表的最后一列。然后把 table 放在自己的tr上。像这样的事情:

<ItemTemplate>

    <asp:Label ID="lblPieces" runat="server" Text='<%# Eval("TotalNoOfPieces") %>'></asp:Label>

    </tr>                 <!-- end the outer table row -->
    <tr colspan="7">      <!-- start new row in the outer table -->
        <table>
            <tr>
                <td><asp:Label ID="lblAwbNumber" runat="server" Text='<%# Eval("AWBNumber") %>'></asp:Label></td>
            </tr>
            <tr>
                <td><label>Shipper</label></td>
                <td><asp:Label ID="lblFullShipperAddress" runat="server" Text='<%# Eval("FullShipperAddress")%>'></asp:Label></td>
            </tr>
        </table>

</ItemTemplate>

请注意,您不应该以</tr>结尾。因为外表渲染会添加它。

这个答案是在没有任何实际测试的情况下组合在一起的,所以我不能保证它会“开箱即用”。

关于asp.net - 如何将行跨度添加到 GridView 中的第一列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36361352/

相关文章:

C# CheckBoxList 选中的项目到字符串

c# - 无法从 GridView 中的 TemplateField 获取文本

html - 如何使用xpath在特定行的下拉列表中选择一个值?

c# - (来自 HRESULT : 0x80070005 (E_ACCESSDENIED)) 的异常

c# - 导出到 excel 的 RadGrid telerik 问题

c# - 匹配美元金额的正则表达式

gridview - 具有 beforeValidate() 值的 yii2 gridview 过滤器

android - 如何在 Android TV 中使用键盘让 GridView 滚动到顶部

mysql - mysql中如何删除一行?

sql - 如何复制任何表格的一行更改一列