【问题标题】:How to resize grid-view column width?如何调整网格视图列宽?
【发布时间】:2013-04-22 21:45:53
【问题描述】:

我正在尝试重新调整我使用this tutorial 创建的网格视图中的列宽度,但我无法这样做。我已经通过谷歌搜索了数十种方法,但没有一种有效。

产生问题的代码

<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%" 但没有用。

【问题讨论】:

  • 能否请您详细显示gridview的代码??
  • 你能正确阅读这篇文章吗?链接有你需要的所有代码:)
  • 设置每个gridview绑定字段的HeaderStyle-Horizo​​ntalAlign、ItemStyle-Horizo​​ntalAlign属性。
  • 为什么每个?我不能把它加到一个我需要改变大小的地方吗?谢谢
  • 我不确定更改 Align 是否有好处?

标签: css gridview webforms


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    您可以为 gridview 列指定 ItemStyle-Width 属性来调整列的大小。

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

    【讨论】:

      猜你喜欢
      • 2011-08-21
      • 2015-05-15
      • 2012-03-24
      • 1970-01-01
      • 2016-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-01-17
      • 1970-01-01
      相关资源
      最近更新 更多