如何:在 Windows 窗体 DataGridView 控件中设置数据格式
下面的过程演示如何使用 DataGridView 控件和控件中特定列的 DefaultCellStyle 属性对单元格值进行基本格式设置。 有关高级数据格式的信息,请参阅如何:自定义 Windows 窗体 DataGridView 控件中的数据格式设置。
设置货币和日期值的格式
设置 DataGridViewCellStyle 的 Format 属性。 下面的代码示例使用特定列的 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"
自定义空数据库值的显示
设置 DataGridViewCellStyle 的 NullValue 属性。 下面的代码示例使用 DataGridView.DefaultCellStyle 属性在包含等于 DBNull.Value 的值的所有单元格中显示“无输入”。
this.dataGridView1.DefaultCellStyle.NullValue = "no entry";
Me.dataGridView1.DefaultCellStyle.NullValue = "no entry"
在基于文本的单元格中启用字换行
将 DataGridViewCellStyle 的 WrapMode 属性设置为 DataGridViewTriState 枚举值之一。 以下代码示例使用 DataGridView.DefaultCellStyle 属性设置整个控件的包装模式。
this.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True;
Me.dataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True
指定 DataGridView 单元格的文本对齐方式
将 DataGridViewCellStyle 的 Alignment 属性设置为 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
编译代码
这些示例需要:
包含名为
UnitPrice
的列、名为ShipDate
的列和名为CustomerName
的列的名为dataGridView1
的 DataGridView 控件。对 SystemSystem.Drawing 和 System.Windows.Forms 程序集的引用。
可靠编程
为实现最大的可伸缩性,应在使用相同样式的多个行、列或单元格间共享 DataGridViewCellStyle 对象,而不是分别设置单个元素的样式属性。 有关详细信息,请参阅缩放 Windows 窗体 DataGridView 控件的最佳做法。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈