DataGridView控件用法合集(一)
2010-04-26 10:57
519 查看
近期将DataGridView常用的一些用法做了一个整理。为防止页面过长,现分批贴出来,此为第一部分。
1. DataGridView当前的单元格属性取得、变更
2. DataGridView编辑属性
3. DataGridView最下面一列新追加行非表示
4. DataGridView判断当前选中行是否为新追加的行
5. DataGridView删除行可否设定
6. DataGridView行列不表示和删除
1.当前的单元格属性取得、变更
[VB.NET]
'現在のセルの値を表示
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];
2.DataGridView编辑属性
全部单元格编辑属性
[VB.NET]
'DataGridView1のセルを読み取り専用にする
DataGridView1.ReadOnly = True
[C#]
//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
[C#]
//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 = True
End If
End Sub
[C#]
//CellBeginEditイベントハンドラ
private void DataGridView1_CellBeginEdit(object sender,
DataGridViewCellCancelEventArgs 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
[C#]
//DataGridView1にユーザーが新しい行を追加できないようにする
DataGridView1.AllowUserToAddRows = false;
4.判断当前选中行是否为新追加的行
[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
[C#]
//DataGridView1の行をユーザーが削除できないようにする
DataGridView1.AllowUserToDeleteRows = false;
根据条件判断当前行是否要删除
[VB.NET]
'DataGridView1のUserDeletingRowイベントハンドラ
Private Sub DataGridView1_UserDeletingRow(ByVal sender As Object, _
ByVal e As DataGridViewRowCancelEventArgs) _
Handles DataGridView1.UserDeletingRow
'削除するかユーザーに確認する
If MessageBox.Show("この列を削除しますか?", "削除の確認", _
MessageBoxButtons.OKCancel, MessageBoxIcon.Question) <> _
Windows.Forms.DialogResult.OK Then
e.Cancel = True
End If
End Sub
[C#]
//DataGridView1のUserDeletingRowイベントハンドラ
private void DataGridView1_UserDeletingRow(
object sender, DataGridViewRowCancelEventArgs 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
[C#]
//DataGridView1のはじめの列を非表示にする
DataGridView1.Columns[0].Visible = false;
//DataGridView1のはじめの行を非表示にする
DataGridView1.Rows[0].Visible = false;
行列表头部分不表示
[VB.NET]
'列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = False
'行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = False
[C#]
//列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = false;
4000
//行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = false;
指定行列删除
[VB.NET]
'"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);
选择的行列删除(多行列)
[VB.NET]
'DataGridView1で選択されているすべての行を削除する
Dim r As DataGridViewRow
For Each r In DataGridView1.SelectedRows
If Not r.IsNewRow Then
DataGridView1.Rows.Remove(r)
End If
Next r
[C#]
//DataGridView1で選択されているすべての行を削除する
foreach (DataGridViewRow r in DataGridView1.SelectedRows)
{
if (!r.IsNewRow)
{
DataGridView1.Rows.Remove(r);
}
}
摘自:http://www.chinaaspx.com/comm/dotnetbbs/Showtopic.aspx?Forum_ID=7&Id=268374
1. DataGridView当前的单元格属性取得、变更
2. DataGridView编辑属性
3. DataGridView最下面一列新追加行非表示
4. DataGridView判断当前选中行是否为新追加的行
5. DataGridView删除行可否设定
6. DataGridView行列不表示和删除
1.当前的单元格属性取得、变更
[VB.NET]
'現在のセルの値を表示
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];
2.DataGridView编辑属性
全部单元格编辑属性
[VB.NET]
'DataGridView1のセルを読み取り専用にする
DataGridView1.ReadOnly = True
[C#]
//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
[C#]
//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 = True
End If
End Sub
[C#]
//CellBeginEditイベントハンドラ
private void DataGridView1_CellBeginEdit(object sender,
DataGridViewCellCancelEventArgs 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
[C#]
//DataGridView1にユーザーが新しい行を追加できないようにする
DataGridView1.AllowUserToAddRows = false;
4.判断当前选中行是否为新追加的行
[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
[C#]
//DataGridView1の行をユーザーが削除できないようにする
DataGridView1.AllowUserToDeleteRows = false;
根据条件判断当前行是否要删除
[VB.NET]
'DataGridView1のUserDeletingRowイベントハンドラ
Private Sub DataGridView1_UserDeletingRow(ByVal sender As Object, _
ByVal e As DataGridViewRowCancelEventArgs) _
Handles DataGridView1.UserDeletingRow
'削除するかユーザーに確認する
If MessageBox.Show("この列を削除しますか?", "削除の確認", _
MessageBoxButtons.OKCancel, MessageBoxIcon.Question) <> _
Windows.Forms.DialogResult.OK Then
e.Cancel = True
End If
End Sub
[C#]
//DataGridView1のUserDeletingRowイベントハンドラ
private void DataGridView1_UserDeletingRow(
object sender, DataGridViewRowCancelEventArgs 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
[C#]
//DataGridView1のはじめの列を非表示にする
DataGridView1.Columns[0].Visible = false;
//DataGridView1のはじめの行を非表示にする
DataGridView1.Rows[0].Visible = false;
行列表头部分不表示
[VB.NET]
'列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = False
'行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = False
[C#]
//列ヘッダーを非表示にする
DataGridView1.ColumnHeadersVisible = false;
4000
//行ヘッダーを非表示にする
DataGridView1.RowHeadersVisible = false;
指定行列删除
[VB.NET]
'"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);
选择的行列删除(多行列)
[VB.NET]
'DataGridView1で選択されているすべての行を削除する
Dim r As DataGridViewRow
For Each r In DataGridView1.SelectedRows
If Not r.IsNewRow Then
DataGridView1.Rows.Remove(r)
End If
Next r
[C#]
//DataGridView1で選択されているすべての行を削除する
foreach (DataGridViewRow r in DataGridView1.SelectedRows)
{
if (!r.IsNewRow)
{
DataGridView1.Rows.Remove(r);
}
}
摘自:http://www.chinaaspx.com/comm/dotnetbbs/Showtopic.aspx?Forum_ID=7&Id=268374
相关文章推荐
- DataGridView控件用法合集(四)
- DataGridView控件用法合集
- DataGridView控件用法合集(六)
- DataGridView控件用法合集 下载
- DataGridView控件用法合集(二)
- DataGridView控件用法合集(十)
- DataGridView控件用法合集(下)
- DataGridView控件用法合集
- DataGridView控件用法合集(四)
- DataGridView控件用法合集
- DataGridView控件用法合集
- DataGridView控件用法合集(一)
- DataGridView控件用法合集(七)
- DataGridView控件用法合集(七)
- DataGridView控件用法合集(三)
- DataGridView控件用法合集(十一)
- DataGridView控件用法合集(二)
- DataGridView控件用法合集(一-三)
- DataGridView控件用法合集(二)
- DataGridView控件用法合集(八)