HOW TO:設定 Windows Form DataGridView 控制項的預設儲存格樣式
更新:2007 年 11 月
您可以使用 DataGridView 控制項為整個控制項,或為特定的資料行和資料列指定預設的儲存格樣式。這些預設值會從控制項層級往下篩選至資料行層級,接著至資料列層級,然後至儲存格層級。如果特定的 DataGridViewCellStyle 屬性未設定在儲存格層級,便會使用資料列層級的預設屬性設定。如果屬性也未設定在資料列層級,就會使用預設的資料行設定。最後,如果屬性也未設定在資料行層級,那就會使用預設的 DataGridView 設定。使用這個設定,您可以避免必須在多個層級上重複屬性設定的狀況。只需在每個層級上指定不同於上一層級的樣式。如需詳細資訊,請參閱 Windows Form DataGridView 控制項中的儲存格樣式。
Visual Studio 中對此工作有相當廣泛的支援。
若要以程式設計方式設定預設的儲存格樣式
設定透過 DataGridView.DefaultCellStyle 屬性擷取的 DataGridViewCellStyle 的屬性。
Me.dataGridView1.DefaultCellStyle.BackColor = Color.Beige Me.dataGridView1.DefaultCellStyle.Font = New Font("Tahoma", 12)
this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige; this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);
建立並初始化新的 DataGridViewCellStyle 物件,以供多個資料列和資料行使用。
Dim highlightCellStyle As New DataGridViewCellStyle highlightCellStyle.BackColor = Color.Red Dim currencyCellStyle As New DataGridViewCellStyle currencyCellStyle.Format = "C" currencyCellStyle.ForeColor = Color.Green
DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle(); highlightCellStyle.BackColor = Color.Red; DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle(); currencyCellStyle.Format = "C"; currencyCellStyle.ForeColor = Color.Green;
設定特定的資料列和資料行的 DefaultCellStyle 屬性。
With Me.dataGridView1 .Rows(3).DefaultCellStyle = highlightCellStyle .Rows(8).DefaultCellStyle = highlightCellStyle .Columns("UnitPrice").DefaultCellStyle = currencyCellStyle .Columns("TotalPrice").DefaultCellStyle = currencyCellStyle End With
this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle; this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle; this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle = currencyCellStyle; this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle = currencyCellStyle;
範例
Private Sub SetDefaultCellStyles()
Dim highlightCellStyle As New DataGridViewCellStyle
highlightCellStyle.BackColor = Color.Red
Dim currencyCellStyle As New DataGridViewCellStyle
currencyCellStyle.Format = "C"
currencyCellStyle.ForeColor = Color.Green
With Me.dataGridView1
.DefaultCellStyle.BackColor = Color.Beige
.DefaultCellStyle.Font = New Font("Tahoma", 12)
.Rows(3).DefaultCellStyle = highlightCellStyle
.Rows(8).DefaultCellStyle = highlightCellStyle
.Columns("UnitPrice").DefaultCellStyle = currencyCellStyle
.Columns("TotalPrice").DefaultCellStyle = currencyCellStyle
End With
End Sub
private void SetDefaultCellStyles()
{
this.dataGridView1.DefaultCellStyle.BackColor = Color.Beige;
this.dataGridView1.DefaultCellStyle.Font = new Font("Tahoma", 12);
DataGridViewCellStyle highlightCellStyle = new DataGridViewCellStyle();
highlightCellStyle.BackColor = Color.Red;
DataGridViewCellStyle currencyCellStyle = new DataGridViewCellStyle();
currencyCellStyle.Format = "C";
currencyCellStyle.ForeColor = Color.Green;
this.dataGridView1.Rows[3].DefaultCellStyle = highlightCellStyle;
this.dataGridView1.Rows[8].DefaultCellStyle = highlightCellStyle;
this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle =
currencyCellStyle;
this.dataGridView1.Columns["TotalPrice"].DefaultCellStyle =
currencyCellStyle;
}
編譯程式碼
這項範例需要:
名為 dataGridView1 的 DataGridView 控制項。
System、System.Drawing 和 System.Windows.Forms 組件的參考。
穩固程式設計
若要在您使用非常大量的資料集時達到最大延展性 (Scalability),您應該共用使用相同樣式的多個資料列、資料行或儲存格之間的 DataGridViewCellStyle 物件,而不是分別設定每一個項目的樣式屬性。此外,您應該建立共用資料列,並使用 DataGridViewRowCollection.SharedRow 屬性來加以存取。如需詳細資訊,請參閱縮放 Windows Form DataGridView 控制項的最佳作法。
請參閱
工作
HOW TO:設定 Windows Form DataGridView 控制項的替代資料列樣式
概念
Windows Form DataGridView 控制項中的儲存格樣式
縮放 Windows Form DataGridView 控制項的最佳作法
參考
DataGridViewBand.DefaultCellStyle