来自MSDN的一个Sample:如何自定义 Windows 窗体 DataGridView 控件中的数据格式设置...

下面的代码示例演示如何实现一个 事件的处理程序,该处理程序根据单元格的列和值更改单元格的显示方式。

Balance 列中包含负数的单元格被指定为红色背景。也可以将这些单元格的格式设置为货币格式以在负值两边显示圆括号。有关更多信息,请参见如何:设置 Windows 窗体 DataGridView 控件中的数据格式。

Priority 列的单元格显示代替对应的文本单元格值的图像。 的 属性既用于获取文本单元格值,也用于设置对应的图像显示值。

None.gif using  System ;
None.gifusing 
System . Drawing;
None.gifusing 
System . Windows . Forms;
None.gif
None.gifpublic class Form1 
:  Form
None.gif{
None.gif    private DataGridView dataGridView1 
=  new DataGridView();
None.gif    private Bitmap highPriImage;
None.gif    private Bitmap mediumPriImage;
None.gif    private Bitmap lowPriImage;
None.gif
None.gif    public Form1()
None.gif    {
None.gif        
//  Initialize the images .  
None.gif        try
None.gif        {
None.gif            highPriImage 
=  new Bitmap( " highPri.bmp " );
None.gif            mediumPriImage 
=  new Bitmap( " mediumPri.bmp " );
None.gif            lowPriImage 
=  new Bitmap( " lowPri.bmp " );
None.gif        }
None.gif        catch (ArgumentException)
None.gif        {
None.gif            MessageBox
. Show( " The Priority column requires Bitmap images  "   +
None.gif                
" named highPri.bmp, mediumPri.bmp, and lowPri.bmp  "   +
None.gif                
" residing in the same directory as the executable file. " );
None.gif        }
None.gif
None.gif        
//  Initialize the DataGridView .
None.gif        dataGridView1
. Dock  =  DockStyle . Fill;
None.gif        dataGridView1
. AllowUserToAddRows  =  false;
None.gif        dataGridView1
. Columns . AddRange(
None.gif            new DataGridViewTextBoxColumn()
,
None.gif            new DataGridViewImageColumn());
None.gif        dataGridView1
. Columns[ 0 ] . Name  =   " Balance " ;
None.gif        dataGridView1
. Columns[ 1 ] . Name  =   " Priority " ;
None.gif        dataGridView1
. Rows . Add( " -100 " ,   " high " );
None.gif        dataGridView1
. Rows . Add( " 0 " ,   " medium " );
None.gif        dataGridView1
. Rows . Add( " 100 " ,   " low " );
None.gif        dataGridView1
. CellFormatting  +=
None.gif            new 
System . Windows . Forms . DataGridViewCellFormattingEventHandler(
None.gif            this
. dataGridView1_CellFormatting);
None.gif        this
. Controls . Add(dataGridView1);
None.gif    }
None.gif
None.gif    
//  Changes how cells are displayed depending on their columns and  values .
None.gif    private void dataGridView1_CellFormatting(object sender
,  
None.gif        
System . Windows . Forms . DataGridViewCellFormattingEventArgs e)
None.gif    {
None.gif        
//  Set the background to red  for  negative  values  in the Balance column .
None.gif        
if  (dataGridView1 . Columns[e . ColumnIndex] . Name . Equals( " Balance " ))
None.gif        {
None.gif            Int32 intValue;
None.gif            
if  (Int32 . TryParse((String)e . Value ,  out intValue)  &&  
None.gif                (intValue 
<   0 ))
None.gif            {
None.gif                e
. CellStyle . BackColor  =  Color . Red;
None.gif                e
. CellStyle . SelectionBackColor  =  Color . DarkRed;
None.gif            }
None.gif        }
None.gif
None.gif        
//  Replace string  values  in the Priority column with images .
None.gif        
if  (dataGridView1 . Columns[e . ColumnIndex] . Name . Equals( " Priority " ))
None.gif        {
None.gif            
//  Ensure that the value is a string .
None.gif            String stringValue 
=  e . Value as string;
None.gif            
if  (stringValue  ==  null)  return ;
None.gif
None.gif            
//  Set the cell ToolTip to the text value .
None.gif            DataGridViewCell cell 
=  dataGridView1[e . ColumnIndex ,  e . RowIndex];
None.gif            cell
. ToolTipText  =  stringValue;
None.gif
None.gif            
//  Replace the string value with the image value .
None.gif            switch (stringValue)
None.gif            {
None.gif                case 
" high " :
None.gif                    e
. Value  =  highPriImage;
None.gif                    break;
None.gif                case 
" medium " :
None.gif                    e
. Value  =  mediumPriImage;
None.gif                    break;
None.gif                case 
" low " :
None.gif                    e
. Value  =  lowPriImage;
None.gif                    break;
None.gif            }
None.gif        }
None.gif    }
None.gif
None.gif    public static void Main()
None.gif    {
None.gif        Application
. Run(new Form1());
None.gif    }
None.gif
None.gif}
None.gif
None.gif

 

转载于:https://www.cnblogs.com/lxinxuan/archive/2007/04/24/725851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值