DataGridView 单元格表示值的自定义

简介:
通过 CellFormatting 事件,可以自定义单元格的表示值。(比如:值为 Error 的时候,单元格被设定为红色)
下面的示例:将 “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

 

[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
事件的 DataGridViewCellFormattingEventArgs 对象的 Value 属性一开始保存着未被格式化的值。当 Value 属性被设定表示用的文本之后,把 FormattingApplied 属性做为 True ,告知 DataGridView 文本已经格式化完毕。如果不这样做的话, DataGridView 会根据已经设定的 Format NullValue DataSourceNullValue FormatProvider 属性会将 Value 属性会被重新格式化一遍。




本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/201795,如需转载请自行联系原作者

目录
相关文章
openpyxl 一行代码批量修改单元格属性、修改全部单元格属性 、设置自动换行、修改全部单元格style为自动换行
openpyxl 一行代码批量修改单元格属性、修改全部单元格属性 、设置自动换行、修改全部单元格style为自动换行
237 0
禁用行、列、单元格单元格编辑
禁用行、列、单元格单元格编辑
C#编程-80:DataGridView单元格自动填充
C#编程-80:DataGridView单元格自动填充
224 0
C#编程-80:DataGridView单元格自动填充
C#编程-19:DataGridView属性AutoSizeColumnMode的枚举值(自动列宽)
C#编程-19:DataGridView属性AutoSizeColumnMode的枚举值(自动列宽)
349 0