通过
CellFormatting
事件,可以自定义单元格的表示值。(比如:值为
Error
的时候,单元格被设定为红色)
下面的示例:将 “Colmn1” 列的值改为大写。
下面的示例:将 “Colmn1” 列的值改为大写。
[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)
' 如果单元格是 “Column1” 列的单元格
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()
' 应用该 Format , Format 完毕。
e.FormattingApplied = True
End If
End Sub
'CellFormatting 事件处理方法
Private Sub DataGridView1_CellFormatting( ByVal sender As Object , _
ByVal e As DataGridViewCellFormattingEventArgs) _
Handles DataGridView1.CellFormatting
Dim dgv As DataGridView = CType (sender, DataGridView)
' 如果单元格是 “Column1” 列的单元格
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()
' 应用该 Format , Format 完毕。
e.FormattingApplied = True
End If
End Sub
[C#]
//CellFormatting 事件处理方法
private void DataGridView1_CellFormatting( object sender,
DataGridViewCellFormattingEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
// 如果单元格是 “Column1” 列的单元格
if (dgv.Columns[e.ColumnIndex].Name == "Column1" && e.Value is string )
{
// 将单元格值改为大写
string str = e.Value.ToString();
e.Value = str.ToUpper();
// 应用该 Format , Format 完毕。
e.FormattingApplied = true ;
}
}
//CellFormatting 事件处理方法
private void DataGridView1_CellFormatting( object sender,
DataGridViewCellFormattingEventArgs e)
{
DataGridView dgv = (DataGridView)sender;
// 如果单元格是 “Column1” 列的单元格
if (dgv.Columns[e.ColumnIndex].Name == "Column1" && e.Value is string )
{
// 将单元格值改为大写
string str = e.Value.ToString();
e.Value = str.ToUpper();
// 应用该 Format , Format 完毕。
e.FormattingApplied = true ;
}
}
CellFormatting 事件的 DataGridViewCellFormattingEventArgs 对象的 Value 属性一开始保存着未被格式化的值。当 Value 属性被设定表示用的文本之后,把 FormattingApplied 属性做为 True ,告知 DataGridView 文本已经格式化完毕。如果不这样做的话, DataGridView 会根据已经设定的 Format , NullValue , DataSourceNullValue , FormatProvider 属性会将 Value 属性会被重新格式化一遍。
本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/201795,如需转载请自行联系原作者