VB datagrid控件怎么设置列宽

2024-11-15 06:02:54
推荐回答(4个)
回答(1):

datagrid的右击,选择属性,找到“布局(layout)”选项页,看看AllowSizing后面的复选框打钩了吗,没打勾的话就不能改变列宽

回答(2):

1、你可以用楼上的方法,在form_load()中设置DataGrid1.Columns(0).Width
=
2000为第一列,其他依次类推。
2、你可以右击datagrid选择编辑》手工拖动列宽到合适的位置即可。

回答(3):

Private Sub BindDataGrid()'定义一个方法
Dim myTable As DataTable = LDB.GetAllLinkman(SysUserID, "Linkman").Tables(0)
With DataGrid1' 自定义类型,下列为可选参数
.CaptionText = "Linkman列表"
.CaptionVisible = False
.DataSource = myTable.DefaultView
.ReadOnly = True
.TableStyles.Clear()
End With
CreateTableStyle(myTable)
End Sub
Private Sub CreateTableStyle(ByVal mytable As DataTable)
Dim Tab1 As New DataGridTableStyle
Tab1.MappingName = mytable.TableName

Dim Col0 As New DataGridTextBoxColumn
Col0.MappingName = "ID"
Col0.HeaderText = "ID"
Col0.Width = 0

Dim Col1 As New DataGridTextBoxColumn
Col1.MappingName = "Cate.Name"
Col1.HeaderText = "类别"
Col1.Width = 100 '设置列宽
Dim Col2 As New DataGridTextBoxColumn
Col2.MappingName = "Linkman.Name"
Col2.HeaderText = "联系人"
Col2.Width = 100 '设置列宽
Tab1.GridColumnStyles.AddRange(New DataGridColumnStyle() {Col0, Col1, Col2})
DataGrid1.TableStyles.Add(Tab1)
End Sub

回答(4):

不知道你有没有用adodc控件,如果用了的话,设置的列宽代码要在adodc.refresh 后,不然没有效果的。