转载自:http://blog.sina.com.cn/s/blog_59181ec70100cel4.html~type=v5_one&label=rela_prevarticle
- DataGridView当前的单元格属性取得、变更
- DataGridView编辑属性
- DataGridView最下面一列新追加行非表示
- DataGridView判断当前选中行是否为新追加的行
- DataGridView删除行可否设定
- DataGridView行列不表示和删除
1.DataGridView当前的单元格属性取得、变更
[VB.NET]
'現在のセルの値を表示
Console.WriteLine(DataGridView1.CurrentCell.Value)
'現在のセルの列インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex)
'現在のセルの行インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.RowIndex)
'(0, 0)を現在のセルにする
DataGridView1.CurrentCell = DataGridView1(0, 0)
'現在のセルの値を表示
Console.WriteLine(DataGridView1.CurrentCell.Value)
'現在のセルの列インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex)
'現在のセルの行インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.RowIndex)
'(0, 0)を現在のセルにする
DataGridView1.CurrentCell = DataGridView1(0, 0)
[C#]
//現在のセルの値を表示
Console.WriteLine(DataGridView1.CurrentCell.Value);
//現在のセルの列インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex);
//現在のセルの行インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.RowIndex);
//(0, 0)を現在のセルにする
DataGridView1.CurrentCell = DataGridView1[0, 0];
//現在のセルの値を表示
Console.WriteLine(DataGridView1.CurrentCell.Value);
//現在のセルの列インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.ColumnIndex);
//現在のセルの行インデックスを表示
Console.WriteLine(DataGridView1.CurrentCell.RowIndex);
//(0, 0)を現在のセルにする
DataGridView1.CurrentCell = DataGridView1[0, 0];
2.DataGridView编辑属性
全部单元格编辑属性
[VB.NET]
'DataGridView1のセルを読み取り専用にする
DataGridView1.ReadOnly = True
'DataGridView1のセルを読み取り専用にする
DataGridView1.ReadOnly = True
[C#]
//DataGridView1のセルを読み取り専用にする
DataGridView1.ReadOnly = true;
//DataGridView1のセルを読み取り専用にする
DataGridView1.ReadOnly = true;
指定行列单元格编辑属性
[VB.NET]
'DataGridView1の2番目の列を読み取り専用にする
DataGridView1.Columns(1).ReadOnly = True
'DataGridView1の3番目の行を読み取り専用にする
DataGridView1.Rows(2).ReadOnly = True
'DataGridView1の(0, 0)のセルを読み取り専用にする
DataGridView1(0, 0).ReadOnly = True
'DataGridView1の2番目の列を読み取り専用にする
DataGridView1.Columns(1).ReadOnly = True
'DataGridView1の3番目の行を読み取り専用にする
DataGridView1.Rows(2).ReadOnly = True
'DataGridView1の(0, 0)のセルを読み取り専用にする
DataGridView1(0, 0).ReadOnly = True
[C#]
//DataGridView1の2番目の列を読み取り専用にする
DataGridView1.Columns[1].ReadOnly = true;
//DataGridView1の3番目の行を読み取り専用にする
DataGridView1.Rows[2].ReadOnly = true;
//DataGridView1の(0, 0)のセルを読み取り専用にする
DataGridView1[0, 0].ReadOnly = true;
//DataGridView1の2番目の列を読み取り専用にする
DataGridView1.Columns[1].ReadOnly = true;
//DataGridView1の3番目の行を読み取り専用にする
DataGridView1.Rows[2].ReadOnly = true;
//DataGridView1の(0, 0)のセルを読み取り専用にする
DataGridView1[0, 0].ReadOnly = true;
根据条件判断单元格的编辑属性
下例中column2的值是True的时候,Column1设为可编辑
[VB.NET]
- 'CellBeginEditイベントハンドラ
Private Sub DataGridView1_CellBeginEdit(ByVal sender As Object, ByVal e As DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit - Dim dgv As DataGridView = CType(sender, DataGridView)
- '編集できるか判断する
- If dgv.Columns(e.ColumnIndex).Name = "Column1" AndAlso Not CBool(dgv("Column2", e.RowIndex).Value) Then
-
- '編集できないようにする
- e.Cancel = TrueM
[C#]
- //CellBeginEditイベントハンド
- private void DataGridView1_CellBeginEdit(object sender, DataGridViewCellCancelEv
entArgs e)
- {
-
- DataGridView dgv = (DataGridView)sender;
- //編集できるか判断する
- if (dgv.Columns[e.ColumnIndex].Name == "Column1" && !(bool)dgv["Column2", e.RowIndex].Value)
- {
-
- //編集できないようにする
- e.Cancel = true;
3.DataGridView最下面一列新追加行非表示
[VB.NET]
'DataGridView1にユーザーが新しい行を追加できないようにする
DataGridView1.AllowUserToAddRows = False
'DataGridView1にユーザーが新しい行を追加できないようにする
DataGridView1.AllowUserToAddRows = False
[C#]
//DataGridView1にユーザーが新しい行を追加できないようにする
DataGridView1.AllowUserToAddRows = false;
//DataGridView1にユーザーが新しい行を追加できないようにする
DataGridView1.AllowUserToAddRows = false;
4.DataGridView判断当前选中行是否为新追加的行
[VB.NET]
- If DataGridView1.CurrentRow.IsNewRow Then
-
- Console.WriteLine("現在のセルがある行は、新しい行です。")
- Else
-
- Console.WriteLine("現在のセルがある行は、新しい行ではありません。")
- End If
[C#]
- if (DataGridView1.CurrentRow.IsNewRow)
-
- Console.WriteLine("現在のセルがある行は、新しい行です。");
- else
-
- Console.WriteLine("現在のセルがある行は、新しい行ではありません。");
5.DataGridView删除行可否设定
[VB.NET]
'DataGridView1の行をユーザーが削除できないようにする
DataGridView1.AllowUserToDeleteRows = False
'DataGridView1の行をユーザーが削除できないようにする
DataGridView1.AllowUserToDeleteRows = False
[C#]
//DataGridView1の行をユーザーが削除できないようにする
DataGridView1.AllowUserToDeleteRows = false;
//DataGridView1の行をユーザーが削除できないようにする
DataGridView1.AllowUserToDeleteRows = false;
根据条件判断当前行是否要删除
[VB.NET]
'DataGridView1のUserDeletingRowイベントハンドラ
'DataGridView1のUserDeletingRowイベントハンドラ
- Private Sub DataGridView1_UserDeletingRow(ByVal sender As Object, ByVal e As DataGridViewRowCancelEve
ntArgs) Handles DataGridView1.UserDeletingRow -
- '削除するかユーザーに確認する
- If MessageBox.Show("この列を削除しますか?", "削除の確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) <> Windows.Forms.DialogResult.OK Then
-
- e.Cancel = True
[C#]
//DataGridView1のUserDeletingRowイベントハンドラ
//DataGridView1のUserDeletingRowイベントハンドラ
- private void DataGridView1_UserDeletingRow(object sender, DataGridViewRowCancelEve
ntArgs e)
- {
-
- //削除するかユーザーに確認する
- if (MessageBox.Show("この列を削除しますか?", "削除の確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) != DialogResult.OK)
- {
-
- e.Cancel = true;
6.DataGridView行列不表示和删除
行列不表示
[VB.NET]
'DataGridView1のはじめの列を非表示にする
DataGridView1.Columns(0).Visible = False
'DataGridView1のはじめの行を非表示にする
DataGridView1.Rows(0).Visible = False
'DataGridView1のはじめの列を非表示にする
DataGridView1.Columns(0).Visible = False
'DataGridView1のはじめの行を非表示にする
DataGridView1.Rows(0).Visible = False
[C#]
//DataGridView1のはじめの列を非表示にする
DataGridView1.Columns[0].Visible = false;
//DataGridView1のはじめの行を非表示にする
DataGridView1.Rows[0].Visible = false;
//DataGridView1のはじめの列を非表示にする
DataGridView1.Columns[0].Visible = false;
//DataGridView1のはじめの行を非表示にする
DataGridView1.Rows[0].Visible = false;
行列表头部分不表示
[VB.NET]
'列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = False
'行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = False
'列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = False
'行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = False
[C#]
//列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = false;
//行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = false;
//列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = false;
//行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = false;
指定行列删除
[VB.NET]
'"Column1"を削除する
DataGridView1.Columns.Remove("Column1")
'はじめの列を削除する
DataGridView1.Columns.RemoveAt(0)
'はじめの行を削除する
DataGridView1.Rows.RemoveAt(0)
'"Column1"を削除する
DataGridView1.Columns.Remove("Column1")
'はじめの列を削除する
DataGridView1.Columns.RemoveAt(0)
'はじめの行を削除する
DataGridView1.Rows.RemoveAt(0)
[C#]
//"Column1"を削除する
DataGridView1.Columns.Remove("Column1");
//はじめの列を削除する
DataGridView1.Columns.RemoveAt(0);
//はじめの行を削除する
DataGridView1.Rows.RemoveAt(0);
//"Column1"を削除する
DataGridView1.Columns.Remove("Column1");
//はじめの列を削除する
DataGridView1.Columns.RemoveAt(0);
//はじめの行を削除する
DataGridView1.Rows.RemoveAt(0);
选择的行列删除(多行列)
[VB.NET]
'DataGridView1で選択されているすべての行を削除する
Dim r As DataGridViewRow
'DataGridView1で選択されているすべての行を削除する
Dim r As DataGridViewRow
- For Each r In DataGridView1.SelectedRows
-
- If Not r.IsNewRow Then
-
- DataGridView1.Rows.Remove(r)
[C#]
//DataGridView1で選択されているすべての行を削除する
foreach (DataGridViewRow r in DataGridView1.SelectedRows)
//DataGridView1で選択されているすべての行を削除する
foreach (DataGridViewRow r in DataGridView1.SelectedRows)
- {
-
- if (!r.IsNewRow)
- {
-
- DataGridView1.Rows.Remove(r);