C#----DataGridView控件60招
C#----DataGridView控件60招(一)
1. DataGridView当前的单元格属性取得、变更
2. DataGridView编辑属性
3. DataGridView最下面一列新追加行非
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示
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.ToStri
)) ng().Equals("Column2"
{
if (DataGridView1["Column2", e.RowIndex].Value.ToStri
ng().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);
}
}