Gridview列不改变宽度大小

时间:2013-01-29 20:49:48

标签: asp.net vb.net gridview width

我不能让这个GridView列改变它的宽度,我试过这个:

<asp:BoundField DataField="ABC" HeaderText="ABC" SortExpression="ABC"  ControlStyle-Width="200%">

或者像素:

<asp:BoundField DataField="ABC" HeaderText="ABC" SortExpression="ABC"  ControlStyle-Width="500px">

或者在Boundfield标签内:

<ItemStyle HorizontalAlign="Center" Width="500px"/>

还在代码隐藏中尝试了这个:

Protected Sub GridView3_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView3.RowDataBound
    e.Row.Cells(7).Width = 500
End Sub

我如何做对吗?

4 个答案:

答案 0 :(得分:4)

以下是如何做到的。 我正在调整具有属性的列的大小:Visible = True

Private Sub GridViewColumnsrResize(ByVal aspectratio As Integer, ByVal gv As DataGridView)
    Try
        Dim col_count As Integer = gv.Columns.Count
        For j As Integer = 0 To col_count - 1
            If gv.Columns(j).Visible = True Then
                gv.Columns(j).Width = gv.Columns(j).Width * aspectratio
            End If
        Next
    Catch ex As Exception
        'output ex
    End Try
End Sub

答案 1 :(得分:0)

我昨天刚刚发布了这个相关主题的类似问题。简短的回答是你不能。这个帖子中有一个解决方法(在底部):

How can I print a full gridview area via a custom print window?

答案 2 :(得分:0)

建议如果你希望价值在一行中,为了增加宽度,你可以试试这个:
向您cssClass添加Gridview,例如cssClass=gridContainer
添加.css文件:

 .gridContainer
  {
     white-space:nowrap;
  }

有关更多选项,请查看white-space property

答案 3 :(得分:0)

我通过为GridView本身设置固定宽度解决了这个问题,它可能不是针对特定列,而是在所有GridView列之间共享其宽度,从而扩展了我想要扩展的列。

<asp:GridView ID="GridView3" runat="server" DataSourceID="SqlDataSource4" AutoGenerateColumns="False" CssClass="Gridview" Width="800px">