设置DataGrid表格控件的列显示样式,例如设置列宽,表头等

翻译|其它|编辑:郝浩|2005-01-12 10:37:00.000|阅读 2079 次

概述:

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>


设置DataGrid表格控件的列显示样式,例如设置列宽,表头等。

代码示例:

假设使用数据库为SQL Server,数据库名为 Test,表 t_operator(operid,name)
本例中的DataGrid表格控件名称为DG

Imports System.Data.SqlClient
…………

Private Sub SetDataGrid()
Dim Tstyle As New DataGridTableStyle
Dim DCstyle As DataGridColumnStyle

DCstyle = New DataGridTextBoxColumn '创建一个新列
With DCstyle
.MappingName = "operid" ' 设置字段映射关系
.HeaderText = "编号" '设置表头显示字符
.Width = 75 '设置列宽
'如果要设置数值或日期的显示格可以设置Format属性,例如: .Format = "¥0.00"
End With

Tstyle.GridColumnStyles.Add(DCstyle)
DCstyle.Dispose()
DCstyle = New DataGridTextBoxColumn

With DCstyle
.MappingName = "name"
.HeaderText = "姓名"
.Width = 75
End With
Tstyle.GridColumnStyles.Add(DCstyle)
DCstyle.Dispose()

Tstyle.GridColumnStyles.Add(DCstyle)
Tstyle.MappingName = "t_operator" '设置映射表名
Tstyle.HeaderBackColor = Me.BackColor
DG.TableStyles.Add(Tstyle)
DCstyle.Dispose()
Tstyle.Dispose()
end Sub

'在窗体启动时,调用SetDataGrid()函数来设置DataGrid表格控件的显示样式。调用RetData()函数来返回数据
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SetDataGrid()
RetData()
end sub

'在RetData()函数里,假设SQL服务器名为Yong,用户名为sa,密码为123456
Private Sub RetData()
Dim Cn As New SqlConnection("server=yong;database=Test;uid=sa;pwd=123456;")
Dim Cmd As SqlCommand
Dim DA As SqlDataAdapter
Dim DSet As DataSet

Try
Cn.Open()
Cmd = New SqlCommand
Cmd.CommandText = "select operid,name from dbo.t_operator"
Cmd.CommandType = CommandType.Text
Cmd.Connection = Cn
DA = New SqlDataAdapter(Cmd)
DSet = New DataSet

DA.Fill(DSet)
DSet.Tables(0).TableName = "t_operator" '设置表名,与SetDataGrid()函数里的映射表名是一致的
DG.DataSource = DSet.Tables(0)
DSet.Dispose()
DA.Dispose()
Cmd.Dispose()
Cn.Close()
Catch ex As Exception
MsgBox("连接数据库出错,原因如下:" & vbCrLf & ex.ToString, MsgBoxStyle.Critical)
End Try
Cn.Dispose()
End Sub


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP