2

我正在尝试重新调整使用本教程创建的 gridview 中的列宽度,但我无法这样做。我已经通过谷歌搜索经历了数十种方式,但没有一种有效。

产生问题的代码

<asp:BoundField DataField="CustomerID" HeaderText="CustomerID" HtmlEncode="False" />
<asp:BoundField DataField="Name" HeaderText="Name" HtmlEncode="False" />
<asp:BoundField DataField="Address" HeaderText="Address" HtmlEncode="False" />
<asp:TemplateField> // I don't want to show it in my gridview as it is just being
                    // for showing nested gridview
<ItemTemplate>
</td></tr>

我试图更改列可见性,但显示/隐藏按钮不再起作用。

这就是我的gridview的样子,

在此处输入图像描述

我想隐藏最后一个空列或最小化它的宽度,所以它应该被隐藏并增加描述列的宽度,减少 ID 号列的宽度和第一列的宽度,

我什至尝试过 CSS 方式,但它说宽度为 0px,但宽度没有变化,ControlStyle-Width="10%"但它没有用。

4

2 回答 2

5

亲爱的朋友使用下面的代码

    <asp:GridView runat="server" id="testGrid">
    <Columns>
        <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" HtmlEncode="False" ItemStyle-Width="100px" />
        <asp:BoundField DataField="Name" HeaderText="Name" HtmlEncode="False" ItemStyle-Width="100px" />
        <asp:BoundField DataField="Address" HeaderText="Address" HtmlEncode="False" ItemStyle-Width="100px" />
    </Columns>
</asp:GridView>

或者,如果您了解 css,则使用以下代码,您必须将 css 类分配给 ControlStyle-CssClass 属性

    <asp:GridView runat="server">
    <Columns>
        <asp:BoundField DataField="CustomerID" HeaderText="CustomerID" HtmlEncode="False" ControlStyle-CssClass="cssclass1" />
        <asp:BoundField DataField="Name" HeaderText="Name" HtmlEncode="False" ControlStyle-CssClass="cssclass2"  />
        <asp:BoundField DataField="Address" HeaderText="Address" HtmlEncode="False" ControlStyle-CssClass="cssclass3" />
    </Columns>
</asp:GridView>
于 2013-04-29T11:37:31.563 回答
1

您可以调整列的大小,指定ItemStyle-Widthgridview 列的属性。

 <asp:BoundField DataField="ProductID" HeaderText="ProductID" ItemStyle-Width="200px" 
 InsertVisible="False" ReadOnly="True" SortExpression="ProductID" >
 </asp:BoundField>

对于空白值,模板字段列将可见。但是,您可以通过 css 禁用列边框或让列在您的 aspx 代码中呈现为像这样的新表格行来解决此问题

<asp:TemplateField>
            <ItemTemplate>
    <tr>
       <td colspan="100%">
            <!-- your nested control goes here-->
        </td>
    </tr>
   </ItemTemplate>
</asp:TemplateField>
于 2013-04-29T11:30:07.603 回答