DataGridView控件用法合集(一)

近期将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;

//行ヘッダーを非表示にする

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值