C#----DataGridView 控件60招(一)

本文详细介绍了DataGridView控件的各种操作技巧,包括获取和修改当前单元格属性、设置编辑属性、控制新增行显示、判断新行状态、设定删除行权限及隐藏特定行列。

1. DataGridView当前的单元格属性取得、变更

2. DataGridView编辑属性

3. DataGridView最下面一列新追加行非表示

4. DataGridView判断当前选中行是否为新追加的行

5. DataGridView删除行可否设定

6. DataGridView行列不表示和删除

1. 当前的单元格属性取得、变更

[C#]

'当前选中单元的值

Console.WriteLine(DataGridView1.CurrentCell.Value)

'当前列的Index值

 Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex)

'当前单元的行Index值

Console.WriteLine(DataGridView1.CurrentCell.RowIndex)

'将控件中(0, 0)处的值,赋给当前单元格.

DataGridView1.CurrentCell =DataGridView1[0, 0]

2.DataGridView 编辑属性

全部单元格编辑属性

[C#]

'DataGridView1只读属性

DataGridView1.ReadOnly = True

指定行列单元格编辑属性

[C#]

 

DataGridView1.Columns[1]ReadOnly = True

 

DataGridView1.Rows[2].ReadOnly = True

 

DataGridView1[0, 0].ReadOnly = True

根据条件判断单元格的编辑属性

下例中column2的值是True的时候,Column1设为可编辑

 [C#]

 

 
private   void  DataGridView1_CellBeginEdit( object  sender, DataGridViewCellCancelEventArgs e)
{
    
if  ( this .DataGridView1.Columns[e.ColumnIndex].Name.ToString().Equals( " Column2 " ))
     {
        
if  (DataGridView1[ " Column2 " , e.RowIndex].Value.ToString().ToLower().Equals( " true " ))
         {
             DataGridView1[
" Column1 " , e.RowIndex].ReadOnly  =   false ;
         }
        
else
         {
             DataGridView1[
" Column1 " , e.RowIndex].ReadOnly  =   true ;
         }
     }
}

 

 

3.DataGridView 最下面一列新追加行非表示

[C#]

 

DataGridView1.AllowUserToAddRows = False

4. 判断当前选中行是否为新追加的行

[C#]

if (DataGridView1.CurrentRow.IsNewRow)
{
       Console.WriteLine("当前行,是新添加的行");
}
       else
{
       Console.WriteLine("当前行,不是新添加的行");
}

5. DataGridView 删除行可否设定

[C#]

 

DataGridView1.AllowUserToDeleteRows = False

根据条件判断当前行是否要删除

[C#]

 

 

 
  private   void  DataGridView1_UserDeletingRow( object  sender, DataGridViewRowCancelEventArgs e)
 
{
     if  (MessageBox.Show( " 确定要删除吗? " " 删除确认 " , MessageBoxButtons.OKCancel, MessageBoxIcon.Question).Equals(System.Windows.Forms.DialogResult.OK))
    
{
     }
     else
    
{
        
e.Cancel  =   true ;
    
}
}

 

 

6. DataGridView 行列不表示和删除

行列不表示

[C#]

'DataGridView1的第一列不表示

DataGridView1.Columns[0].Visible = False

'DataGridView1的第一行不表示

DataGridView1.Rows[0].Visible = False

行列表头部分不表示

[C#]

 

DataGridView1.ColumnHeadersVisible = False

 

DataGridView1.RowHeadersVisible = False

指定行列删除

[C#]

 

DataGridView1.Columns.Remove("Column1")

 

DataGridView1.Columns.RemoveAt(0)

 

DataGridView1.Rows.RemoveAt(0)

选择的行列删除(多行列)

[C#]

'DataGridView1删除选中的行

foreach (DataGridViewRow r in DataGridView1.SelectedRows)
{
     if (!r.IsNewRow)
     {
         DataGridView1.Rows.Remove(r);
     }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值