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

posted on 2010-04-19 15:29  79-赵林  阅读(5664)  评论(2编辑  收藏  举报

导航