我有一個DataGridView從DataTable. 然后我用附加的補充DataGridViewImageColumn它最終將用作操作任何給定行上的資料的按鈕。
我想知道的是,是否可以隱藏這些影像列的標題單元格,但仍然為“資料”列保留它們(影像列是網格中最右邊的列)或者本機(的.Visible屬性單個影像列似乎是只讀的?)或在繪制單元格時使用某種時髦的解決方法?
按鈕相對較小,但添加列標題(例如“編輯”、“洗掉”等)會不必要地加寬列,并且影像(意味著)對于每個實作的目標是不言自明的。我還想在視覺上區分資料列和“動作”列。是的,這純粹是我的審美決定!
這是我目前用來生成的代碼DataGridView:
Dim myBindingSource As New BindingSource
myBindingSource.DataSource = myDataTable
myBindingSource.Filter = myFilter
With myDataGridView
.DataSource = myBindingSource
.AutoResizeColumns()
.AutoResizeRows()
.RowHeadersVisible = False
.AllowUserToAddRows = False
.Enabled = True
btnEdit = New DataGridViewImageColumn With {.Image = icoEdit, .Width = 30}
btnEdit.DefaultCellStyle.Padding = New Padding(1, 1, 1, 1)
.Columns.Insert(.Columns.Count, btnEdit)
btnDelete = New DataGridViewImageColumn With {.Image = icoDelete, .Width = 30}
btnDelete.DefaultCellStyle.Padding = New Padding(1, 1, 1, 1)
.Columns.Insert(.Columns.Count, btnDelete)
btnCopy = New DataGridViewImageColumn With {.Image = icoCopy, .Width = 30}
btnCopy.DefaultCellStyle.Padding = New Padding(1, 1, 1, 1)
.Columns.Insert(.Columns.Count, btnCopy)
btnRestore = New DataGridViewImageColumn With {.Image = icoRestore, .Width = 30}
btnRestore.DefaultCellStyle.Padding = New Padding(1, 1, 1, 1)
.Columns.Insert(.Columns.Count, btnRestore)
End With
uj5u.com熱心網友回復:
我更喜歡將這些列的標題單元格作為“死區”,類似于網格外的周圍區域......
可能的。
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
var tarCols = new[] { 1, 2 };
if (e.RowIndex == -1 && tarCols.Contains(e.ColumnIndex))
{
e.Graphics.FillRectangle(SystemBrushes.AppWorkspace, e.CellBounds);
e.Handled = true;
}
}
如果你有不同的.BackgroundColor:
private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e)
{
var tarCols = new[] { 1, 2 };
if (e.RowIndex == -1 && tarCols.Contains(e.ColumnIndex))
{
using (var br = new SolidBrush(dataGridView1.BackgroundColor))
e.Graphics.FillRectangle(br, e.CellBounds);
e.Handled = true;
}
}

轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/505713.html
標籤:VB.net 数据网格视图 数据网格列标题 数据网格视图图像列
上一篇:發票表設計
下一篇:CDate轉換為不同的日期格式
