DataGridView 密码列(显示为*号)的设置

曾经为在DataGridView中设置密码列(显示为*号)而发愁, 如何把Windows 窗体 DataGridView 的某一列的数据显示为“*”

哈哈,今天终于搞定了。需要在DataGridView的2个事件中写代码真麻烦!下面的代码把第4列设置为密码列(显示为*号):
         ///   <summary>
        
///  单元格显示格式事件
        
///   </summary>
        
///   <param name="sender"></param>
        
///   <param name="e"></param>
         private   void  dataGridView1_CellFormatting( object  sender, DataGridViewCellFormattingEventArgs e)
        {
            
//  把第4列显示*号,*号的个数和实际数据的长度相同
             if  (e.ColumnIndex  ==   3 )
            {
                
if  (e.Value  !=   null   &&  e.Value.ToString().Length  >   0 )
                {
                    e.Value 
=   new   string ( ' * ' ,e.Value.ToString().Length);
                }
            }
        }

        
///   <summary>
        
///  编辑单元格控件事件
        
///   </summary>
        
///   <param name="sender"></param>
        
///   <param name="e"></param>
         private   void  dataGridView1_EditingControlShowing( object  sender, DataGridViewEditingControlShowingEventArgs e)
        {
            
//  编辑第4列时,把第4列显示为*号
            TextBox t  =  e.Control  as  TextBox;
            
if  (t  !=   null )
            {
                
if  ( this .dataGridView1.CurrentCell.ColumnIndex  ==   3 )
                    t.PasswordChar 
=   ' * ' ;
                
else
                    t.PasswordChar 
=   new   char ();
            }
        }
本文地址: http://www.cnblogs.com/anjou/archive/2007/02/06/642658.html

你可能感兴趣的:(datagridview)