DataGridView控件用法合集(四)
19. DataGridView中的ContextMenuStrip属性 20. DataGridView指定滚动框位置 21. DataGridView手动追加列 22. DataGridView全体分界线样式设置 23. DataGridView根据单元格属性更改显示内容 24. DataGridView新追加行的行高样式设置る 25. DataGridView新追加行单元格默认值设置
19. DataGridView中的ContextMenuStrip属性 [VB.NET] 'DataGridViewのContextMenuStripを設定する DataGridView1.ContextMenuStrip = Me.ContextMenuStrip1 '列のContextMenuStripを設定する DataGridView1.Columns(0).ContextMenuStrip = Me.ContextMenuStrip2 '列ヘッダーのContextMenuStripを設定する DataGridView1.Columns(0).HeaderCell.ContextMenuStrip = Me.ContextMenuStrip2 '行のContextMenuStripを設定する DataGridView1.Rows(0).ContextMenuStrip = Me.ContextMenuStrip3 'セルのContextMenuStripを設定する DataGridView1(1,0).ContextMenuStrip = Me.ContextMenuStrip4 也可以用CellContextMenuStripNeeded、RowContextMenuStripNeeded属性进行定义 [VB.NET] 'CellContextMenuStripNeededイベントハンドラ Private Sub DataGridView1_CellContextMenuStripNeeded( _ ByVal sender As Object,_ ByVal e As DataGridViewCellContextMenuStripNeededEventArgs) _ Handles DataGridView1.CellContextMenuStripNeeded Dim dgv As DataGridView = CType(sender,DataGridView) If e.RowIndex < 0 Then '列ヘッダーに表示するContextMenuStripを設定する e.ContextMenuStrip = Me.ContextMenuStrip1 ElseIf e.ColumnIndex < 0 Then '行ヘッダーに表示するContextMenuStripを設定する e.ContextMenuStrip = Me.ContextMenuStrip2 ElseIf TypeOf (dgv(e.ColumnIndex,e.RowIndex).Value) Is Integer Then 'セルが整数型のときに表示するContextMenuStripを変更する e.ContextMenuStrip = Me.ContextMenuStrip3 End If End Sub 20. DataGridView指定滚动框位置 [VB.NET] '先頭の行までスクロールする DataGridView1.FirstDisplayedScrollingRowIndex = 0 '先頭の列までスクロールする DataGridView1.FirstDisplayedScrollingColumnIndex = 0 21. DataGridView手动追加列 [VB.NET] '列が自動的に作成されないようにする DataGridView1.AutoGenerateColumns = False 'データソースを設定する DataGridView1.DataSource = BindingSource1 'DataGridViewTextBoxColumn列を作成する Dim textColumn As New DataGridViewTextBoxColumn() 'データソースの"Column1"をバインドする textColumn.DataPropertyName = "Column1" '名前とヘッダーを設定する textColumn.Name = "Column1" textColumn.HeaderText = "Column1" '列を追加する DataGridView1.Columns.Add(textColumn) 22. DataGridView全体分界线样式设置 [VB.NET] 'DataGridViewの境界線を3Dにする DataGridView1.BorderStyle = BorderStyle.Fixed3D 单元格上下左右分界线样式设置 [VB.NET] 'セルの上と左を二重線のくぼんだ境界線にし、 '下と右を一重線のくぼんだ境界線にする DataGridView1.AdvancedCellBorderStyle.Top = DataGridViewAdvancedCellBorderStyle.InsetDouble DataGridView1.AdvancedCellBorderStyle.Right = DataGridViewAdvancedCellBorderStyle.Inset DataGridView1.AdvancedCellBorderStyle.Bottom = DataGridViewAdvancedCellBorderStyle.Inset DataGridView1.AdvancedCellBorderStyle.Left = DataGridViewAdvancedCellBorderStyle.InsetDouble 23. DataGridView根据单元格属性更改显示内容 如下例,当该列是字符串时,自动转换文字大小写 [VB.NET] 'CellFormattingイベントハンドラ Private Sub DataGridView1_CellFormatting(ByVal sender As Object,_ ByVal e As DataGridViewCellFormattingEventArgs) _ Handles DataGridView1.CellFormatting Dim dgv As DataGridView = CType(sender,DataGridView) 'セルの列を確認 If dgv.Columns(e.ColumnIndex).Name = "Column1" AndAlso _ TypeOf e.Value Is String Then '大文字にして表示する Dim str As String = e.Value.ToString() e.Value = str.ToUpper() 'フォーマットの必要がないことを知らせる e.FormattingApplied = True End If End Sub 24. DataGridView新追加行的行高样式设置 行高设置 [VB.NET] '行テンプレートの高さを設定する DataGridView1.RowTemplate.Height = 50 '行の最低の高さを設定する DataGridView1.RowTemplate.MinimumHeight = 50 样式设置 [VB.NET] '行テンプレートのセルスタイルの背景色を黄色にする DataGridView1.DefaultCellStyle.BackColor = Color.Yellow 25. DataGridView新追加行单元格默认值设置 [VB.NET] 'DefaultValuesNeededイベントハンドラ Private Sub DataGridView1_DefaultValuesNeeded(ByVal sender As Object,_ ByVal e As DataGridViewRowEventArgs) _ Handles DataGridView1.DefaultValuesNeeded 'セルの既定値を指定する e.Row.Cells("Column1").Value = 0 e.Row.Cells("Column2").Value = "-" End Sub (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |