'-------------------------------------------------------------
'功能:datagridview相关操作
'参数:datagridview
'返回:无
'方法:SetDataGridView(datagridview)
'-------------------------------------------------------------
'设置datagridview(整个表格)
Public Sub SetDataGridView(ByVal gridview As DataGridView)
'gridview.BackgroundColor = System.Drawing.Color.White '设置背景色为白色
'gridview.Name = "dataGridView1 " '修改表格名字
'gridview.TabIndex = 0
'gridview.Size = New System.Drawing.Size(463, 278) '重新设置网格大小
'gridview.Location = New System.Drawing.Point(12, 12) '相对于左上角的坐标
gridview.MultiSelect = False '是否允许选择多行或多列
gridview.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect '设置选择模式为整行
gridview.ShowCellErrors = False '是否显示单元格错误
gridview.ShowEditingIcon = False '是否在正在编辑的单元格中显示编辑标志符号
gridview.ShowRowErrors = False '是否在行标题栏(第一列)显示错误标志(包含错误项的行)
'---------------------------------------
'使用ReadOnly属性
'---------------------------------------
gridview.ReadOnly = True '所有单元格都不允许编辑,*:用户的新增行和删除行操作也被屏蔽
'gridview.Columns(0).ReadOnly = True '设置第1列整列为只读
'gridview.Rows(0).ReadOnly = True '设置第1行整行为只读
'gridview(2, 2).ReadOnly = True '设置第3行第3列为只读
'---------------------------------------
'DataGridView 行头列头的单元格(标题栏)
'---------------------------------------
'gridview.Columns(0).HeaderCell.Value = "第一列" '改变DataGridView1的第一列列头内容
'gridview.Columns(0).HeaderText = "第一列" '效果同上
'gridview.Rows(0).HeaderCell.Value = "第一行" '改变DataGridView1的第一行行头内容(可用于增加行号)
'gridview.TopLeftHeaderCell.Value = "左上" '改变DataGridView1的左上头部单元内容
'---------------------------------------
'DataGridView 单元格的ToolTip的设置
'---------------------------------------
'gridview.ShowCellToolTips = True '鼠标停放到单元格时,是否显示提示
'gridview(0, 0).ToolTipText = "该单元格不允许编辑" '设置提示的内容(一个单元格)
'gridview.Columns(0).ToolTipText = "该列只允许输入数字" '设置提示的内容(整列)
'gridview.Rows(0).HeaderCell.ToolTipText = "该行不允许编辑" '设置提示的内容(整列的标题栏)
'---------------------------------------
'DataGridView 的单元格的边框、 网格线样式的设定
'---------------------------------------
'gridview.BorderStyle = BorderStyle.FixedSingle 'DataGridView 的边框线样式的设定
'gridview.ColumnHeadersBorderStyle = DataGridViewHeaderBorderStyle.Raised '单元格头部的边框线样式的设定 (列标头)
'gridview.RowHeadersBorderStyle = DataGridViewHeaderBorderStyle.Raised '单元格头部的边框线样式的设定 (行标头)
'单元格的边框颜色的设定()单元格的边框线的颜色可以通过 DataGridView.GridColor 属性来设定的。默认是 ControlDarkDark 。但是只有在 CellBorderStyle 被设定为 Single、SingleHorizontal、SingleVertical 的条件下才能改变其边框线的颜色。同样,ColumnHeadersBorderStyle 以及 RowHeadersBorderStyle 只有在被设定为 Single 时,才能改变颜色。
'gridview.GridColor = Color.Aqua
'单元格的上下左右的边框线式样的单独设定 CellBorderStyle只能设定单元格全部边框线的式样。要单独改变单元格某一边边框式样的话,需要用到DataGridView.AdvancedCellBorderStyle属性
'单元格的上边和左边线设为二重线
'gridview.AdvancedCellBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.InsetDouble
'gridview.AdvancedCellBorderStyle.Left = DataGridViewAdvancedCellBorderStyle.InsetDouble
'单元格的下边和右边线设为单重线
'gridview.AdvancedCellBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.Inset
'gridview.AdvancedCellBorderStyle.Right = DataGridViewAdvancedCellBorderStyle.Inset
'设定行头单元格的属性是: AdvancedRowHeadersBorderStyle, 设定列头单元格属性是:AdvancedColumnHeadersBorderStyle
'---------------------------------------
'DataGridView 行列的操作
'---------------------------------------
'>>不显示表格下面的新行
'通常 DataGridView 的最下面一行是用户新追加的行(行头显示 * )。如果不想让用户新追加行即不想显示该新行,可以将 DataGridView 对象的 AllowUserToAddRows 属性设置为 False
gridview.AllowUserToAddRows = False '设置用户不能手动给 DataGridView1 添加新行
'但是,可以通过程序: DataGridViewRowCollection.Add 为 DataGridView 追加新行。
'补足: 如果 DataGridView 的 DataSource 绑定的是 DataView, 还可以通过设置 DataView.AllowAdd 属性为 False 来达到同样的效果
'>>判断新增行
'DataGridView的AllowUserToAddRows属性为True时也就是允许用户追加新行的场合下,DataGridView的最后一行 就是新追加的行(*行)
'用 DataGridViewRow.IsNewRow 属性可以判断哪一行是新追加的行。另外,通过DataGridView.NewRowIndex 可以获取新行的行序列号。在没有新行的时候,NewRowIndex = -1
'If gridview.CurrentRow.IsNewRow = True Then
' MessageBox.Show("当前行为新增加的行", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
'Else
' MessageBox.Show("当前行不是新增加的行", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information)
'End If
'>>删除行操作
'默认时,DataGridView 是允许用户进行行的删除操作的。如果设置 DataGridView对象的AllowUserToDeleteRows属性为 False 时, 用户的行删除操作就被禁止了
'gridview.AllowUserToDeleteRows = False '不允许删除行(在网格上面按Delete将无法删除行) 但是,通过 DataGridViewRowCollection.Remove 还是可以进行行的删除。
'补足: 如果 DataGridView 绑定的是 DataView 的话,通过 DataView.AllowDelete 也可以控制行的删除
'>>DataGridView 行、列的隐藏和删除
'行列的隐藏
'If gridview.Columns(0).Visible = True Then gridview.Columns(0).Visible = False '隐藏第一行
'If gridview.Rows(0).Visible = True Then gridview.Rows(0).Visible = False '隐藏第一列
'行头列头的隐藏
'gridview.ColumnHeadersVisible = False '隐藏列头
'gridview.RowHeadersVisible = False '隐藏行头
'行列的删除
'gridview.Columns.Remove("City") '删除名为City的列
'gridview.Columns.RemoveAt(0) '删除第一列
'gridview.Rows.RemoveAt(0) '删除第一行
'删除选中行
'---------------------------------
'Dim r As DataGridViewRow
'For Each r In gridview.SelectedRows
' If Not r.IsNewRow Then
' gridview.Rows.Remove(r)
' End If
'Next r
'---------------------------------
'>>禁止调整所有行和列的 行高,列宽(但是可以通过 DataGridViewColumn.Width 或者 DataGridViewRow.Height 属性设定列宽和行高)
gridview.AllowUserToResizeRows = False '用户是否允许调整行高
gridview.AllowUserToResizeColumns = False '用户是否允许调整列宽
'禁止调整指定行或指定列的行高列宽
'gridview.Columns(0).Resizable = DataGridViewTriState.False '禁止第一列调整宽度
'gridview.Rows(0).Resizable = DataGridViewTriState.False '禁止第一行调整高度
'列宽和行高最小值设置
'gridview.Columns(0).MinimumWidth = 100 '第一列最小宽度
'gridview.Rows(0).MinimumHeight = 50 '第一行最小高度
'禁止用户改变行头高度和列头宽度
gridview.ColumnHeadersHeight = 25 '标题栏高度(必须设置grid.ColumnHeadersHeightSizeMode属性为DisableResizing)
gridview.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing '禁止用户用鼠标改变标题栏高度
gridview.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.DisableResizing '禁止用户用鼠标改变行头宽度
gridview.RowHeadersWidth = 30 '设置行标头宽度
gridview.RowHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomLeft '设置行标头对齐方式(显示行号用)
gridview.RowTemplate.Height = 25 '设置行高度
'gridview.RowHeadersDefaultCellStyle.Padding = New Padding
'包括行头列头在内的所有单元格自动调整
'gridview.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
'gridview.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
'>>>DataGridView 冻结列或行
'gridview.Columns(2).Frozen = True '列冻结
'gridview.Rows(2).Frozen = True '行冻结
'---------------------------------------
'DataGridView 全局属性的设置
'---------------------------------------
'gridview.EditMode = DataGridViewEditMode.EditOnEnter '单元格接收到焦点时即进入编辑状态(非常有用)
gridview.EditMode = DataGridViewEditMode.EditProgrammatically '用户不能手动编辑单元格,但是可以调用DataGridView.BeginEdit 方法,使单元格进入编辑模式进行编辑
'gridview.BeginEdit(0)
End Sub
'-------------------------------------------------------------
'功能:在datagridview表格上打印行号
'参数:datagridview
'返回:无
'方法:SetDataGridPrintRow(datagridview)
'-------------------------------------------------------------
Public Sub SetDataGridPrintRow(ByVal GridView As DataGridView)
Dim i As Integer
For i = 0 To GridView.RowCount - 1
GridView.Rows(i).HeaderCell.Value = Str(i + 1)
Next i
End Sub
'-------------------------------------------------------------
'功能:设置datagridview标题栏不允许排序
'参数:datagridview
'返回:无
'方法:SetDataGridSortMode(datagridview)
'-------------------------------------------------------------
Public Sub SetDataGridSortMode(ByVal gridview As DataGridView)
Dim i As Integer
For i = 0 To gridview.Columns.Count - 1
gridview.Columns(i).SortMode = DataGridViewColumnSortMode.NotSortable
Next
End Sub
datagridview相关操作模块(vb2010)
最新推荐文章于 2023-11-06 11:33:47 发布