下面的过程演示如何使用 DefaultCellStyle 控件和控件中特定列的 DataGridView 属性对单元格值进行基本格式设置。 有关高级数据格式的信息,请参阅如何:自定义 Windows 窗体 DataGridView 控件中的数据格式设置。
设置货币和日期值的格式
设置 Format 的 DataGridViewCellStyle 属性。 下面的代码示例使用列的 DefaultCellStyle 属性设置特定列的格式。
UnitPrice
列中的值以当前文化特定的货币格式显示,其负值用圆括号括起来。ShipDate
列中的值以当前区域性特定的短日期格式显示。 有关 Format 值的详细信息,请参阅 格式设置类型。this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c"; this.dataGridView1.Columns["ShipDate"].DefaultCellStyle.Format = "d";
Me.dataGridView1.Columns("UnitPrice").DefaultCellStyle.Format = "c" Me.dataGridView1.Columns("ShipDate").DefaultCellStyle.Format = "d"
自定义空数据库值的显示
设置 NullValue 的 DataGridViewCellStyle 属性。 下面的代码示例使用 DataGridView.DefaultCellStyle 属性在所有包含值等于 DBNull.Value的单元格中显示“禁止进入”。
this.dataGridView1.DefaultCellStyle.NullValue = "no entry";
Me.dataGridView1.DefaultCellStyle.NullValue = "no entry"
在基于文本的单元格中启用字换行
将 WrapMode 的 DataGridViewCellStyle 属性设置为 DataGridViewTriState 枚举值之一。 下面的代码示例使用 DataGridView.DefaultCellStyle 属性为整个控件设置包装模式。
this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
Me.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True
指定 DataGridView 单元格的文本对齐方式
将 Alignment 的 DataGridViewCellStyle 属性设置为 DataGridViewContentAlignment 枚举值之一。 下面的代码示例使用列的 DefaultCellStyle 属性设置特定列的对齐方式。
this.dataGridView1.Columns["CustomerName"].DefaultCellStyle .Alignment = DataGridViewContentAlignment.MiddleRight;
Me.dataGridView1.Columns("CustomerName").DefaultCellStyle _ .Alignment = DataGridViewContentAlignment.MiddleRight
示例:
private void SetFormatting()
{
this.dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c";
this.dataGridView1.Columns["ShipDate"].DefaultCellStyle.Format = "d";
this.dataGridView1.Columns["CustomerName"].DefaultCellStyle
.Alignment = DataGridViewContentAlignment.MiddleRight;
this.dataGridView1.DefaultCellStyle.NullValue = "no entry";
this.dataGridView1.DefaultCellStyle.WrapMode =
DataGridViewTriState.True;
}
Private Sub SetFormatting()
With Me.dataGridView1
.Columns("UnitPrice").DefaultCellStyle.Format = "c"
.Columns("ShipDate").DefaultCellStyle.Format = "d"
.Columns("CustomerName").DefaultCellStyle.Alignment = _
DataGridViewContentAlignment.MiddleRight
.DefaultCellStyle.NullValue = "no entry"
.DefaultCellStyle.WrapMode = DataGridViewTriState.True
End With
End Sub
编译代码
这些示例需要:
名为 DataGridView 的
dataGridView1
控件,其中包含名为UnitPrice
的列、名为ShipDate
的列和名为CustomerName
的列。对 System、System.Drawing 和 System.Windows.Forms 程序集的引用。
可靠的编程
为了获得最大的可伸缩性,应跨多个行、列或单元格共享 DataGridViewCellStyle 对象,这些对象使用相同样式,而不是单独设置每个元素的样式属性。 有关详细信息,请参阅缩放 Windows 窗体 DataGridView 控件的最佳做法。