datagrid列宽控制

lugang386 2007-12-10 05:45:18
我用datagrid邦定了一个父子关系表,我现在想自定义控制,datagrid每列的列宽,以前邦定单个表的时候,我用datagridtextboxcolmns来自定义控制每列的列宽,但现在是绑定了关系表,该怎么控制?望高手指教,小弟感激!!
...全文
67 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lugang386 2007-12-11
  • 打赏
  • 举报
回复
请问楼上的朋友,那我的那个父子表关系怎么用?
maxzhk 2007-12-11
  • 打赏
  • 举报
回复
为DataGrid中每个表添加一个DataGridTableStyle
DataGrid.TableStyles.Add()

通过DataGridTableStyle.MappingName绑到DataTable上
DataGrid.TableStyles(x).MappingName = 数据表名

然后通过DataGrid.TableStyles(x).GridColumnStyles(y).Width = 来设置列宽

前提是先把Dataset绑到了DataGrid.DataSource,
这样只要Add TableStyles和绑定到数据表后,所有的DataGridColumnStyles都会帮你自动建好,
就不用手动添加绑定了
nike66 2007-12-11
  • 打赏
  • 举报
回复
Dim conn As New SqlConnection
'取连接字符串
strConnectionString = ConfigurationSettings.AppSettings("Connectionstring")
'给数据库一个连接字符串
conn.ConnectionString = strConnectionString
'定义一个DataAdapter
Dim da As New SqlDataAdapter("sql语句", conn)
'定义一个DataSet,用来接受数据
Dim ds As New DataSet
'取数据
Try
'打开连接
conn.Open()
'填充数据
da.Fill(ds, "数据库名")
Dim Mycurre As CurrencyManager
Dim MyGrid As DataGridTableStyle
Mycurre = CType(Me.BindingContext(ds, "数据库名"), CurrencyManager)
MyGrid = New DataGridTableStyle(Mycurre)
Me.DataGrid1.TableStyles.Clear()
Me.DataGrid1.TableStyles.Add(MyGrid)
Me.DataGrid1.DataSource = ds.Tables("数据库名")
Dim colStyle As GridColumnStylesCollection
colStyle = Me.DataGrid1.TableStyles(0).GridColumnStyles
colStyle(0).Width = 86
colStyle(1).Width = 501
colStyle(2).Width = 86
colStyle(3).Width = 86
colStyle(4).Width = 86
Me.DataGrid1.ReadOnly = True
Catch ex As Exception
MessageBox.Show("error")
Finally
'当前连接没有关闭则关闭
If (conn.State <> ConnectionState.Closed) Then
conn.Close()
End If
End Try
conn.Close()
lugang386 2007-12-11
  • 打赏
  • 举报
回复
先谢谢你楼上的兄弟,我用的是DATAGRID,不是dataGridView,而且用DATAGRID绑定了关系表,dataGridView不能绑定关系表!
ou108 2007-12-11
  • 打赏
  • 举报
回复
this.dataGridView1.Columns[0].Width =120

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧