![VB.NET源码-156个实用实例哦……](http://www.zhzx123.com/VB.NET_03.gif)
关于datagridviewr
想问一下如何定制datagridviewr的界面,我是用代码来连接数据库的
想做到如下:
1.只显示我设置的列标题不显示数据库中的
2.固定列宽
__________________________________________________________________________
你这两个问题可以一起搞掂
建一保存包括源表列对应列标题及显示宽度的表,譬如:
表名:fname
fieldname fname_ch fwidth...
name 姓名 80
sex 性别 60
age 年龄 60
假设用datagridview显示数据
Dim str As String = constring server=服务器名;database=数据库名;integrated security=sspi
Dim conn As SqlConnection = New SqlConnection(str)
Dim strsql As String = select fieldname,fname_ch from fname order by findex
Dim cmdsql As SqlCommand = New SqlCommand(strsql, conn)
Dim conadap As New SqlDataAdapter
For i = 0 To Me.DataGridView1.ColumnCount - 1
Dim cColumn As String = RTrim(Me.DataGridView1.Columns(i).Name)
conn.Open()
Dim dr As SqlDataReader = cmdsql.ExecuteReader
While dr.Read
If RTrim(dr.Item(0)) = cColumn Then
Me.DataGridView1.Columns(i).HeaderText = RTrim(dr.Item(1)) 设置列标题
Me.DataGridView1.Columns(i).Width = RTrim(dr.Item(2)) 设置列宽
End If
End While
dr.Close()
Next
__________________________________________________________________________
这段代码用在表单的load事件
__________________________________________________________________________
这贴子发了就没办法编辑了?
这句要改一下
Dim strsql As String = select fieldname,fname_ch from fname order by findex
改为
Dim strsql As String = select fieldname,fname_ch from fname
findex是我程序中用来标识列顺序的,上面贴子中建的表没有
__________________________________________________________________________
感谢楼上的,我现在用的是access数据库。
我想问一下,可不可以现在属性中设置界面风格,然后只用代码填充数据?
__________________________________________________________________________
用Access数据库原理也是一样的,如果直接用代码指定列标题和列宽可以参考下面的代码:
Dim i As Integer
For i = 0 To Me.DataGridView1.ColumnCount - 1
Dim cColumn As String = RTrim(Me.DataGridView1.Columns(i).Name)
Select Case cColumn
Case Name
Me.DataGridView1.Columns(i).HeaderText = 姓名
Me.DataGridView1.Columns(i).Width = 80
Case Sex
Me.DataGridView1.Columns(i).HeaderText = 性别
Me.DataGridView1.Columns(i).Width = 60
....以此类推
End Select
Next
__________________________________________________________________________