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

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#]

 


代码
 1  private   void  DataGridView1_UserDeletingRow( object  sender, DataGridViewRowCancelEventArgs e)
 2          {
 3 
 4 
 5 
 6               if  (MessageBox.Show( " 确定要删除吗? " " 删除确认 " , MessageBoxButtons.OKCancel, MessageBoxIcon.Question).Equals(System.Windows.Forms.DialogResult.OK))
 7              {
 8 
 9              }
10               else
11              {
12                  e.Cancel  =   true ;
13              }
14          }


 

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);
                }
            }

你可能感兴趣的:(datagridview)