静心

我是小明
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DataGridView控件用法合集(二)(转载)

Posted on 2010-01-26 09:44  俗人一个  阅读(802)  评论(0编辑  收藏  举报
  1. DataGridView行列宽度高度设置为不能编辑
  2. DataGridView行高列幅自动调整
  3. DataGridView指定行列冻结
  4. DataGridView列顺序变更可否设定
  5. DataGridView行复数选择
  6. DataGridView选择的行、列、单元格取得

1.DataGridView行列宽度高度设置为不能编辑

[VB.NET]
'DataGridView1の列の幅をユーザーが変更できないようにする
DataGridView1.AllowUserToResizeColumns = False
'DataGridView1の行の高さをユーザーが変更できないようにする
DataGridView1.AllowUserToResizeRows = False
[C#]
//DataGridView1の列の幅をユーザーが変更できないようにする
DataGridView1.AllowUserToResizeColumns = false;
//DataGridView1の行の高さをユーザーが変更できないようにする
DataGridView1.AllowUserToResizeRows = false;

指定行列宽度高度设置为不能编辑

[VB.NET]
'DataGridView1のはじめの列の幅をユーザーが変更できないようにする
DataGridView1.Columns(0).Resizable = DataGridViewTriState.False
'DataGridView1のはじめの行の高さをユーザーが変更できないようにする
DataGridView1.Rows(0).Resizable = DataGridViewTriState.False
[C#]
//DataGridView1のはじめの列の幅をユーザーが変更できないようにする
DataGridView1.Columns[0].Resizable = DataGridViewTriState.False;
//DataGridView1のはじめの行の高さをユーザーが変更できないようにする
DataGridView1.Rows[0].Resizable = DataGridViewTriState.False;

列幅行高最小值设定

[VB.NET]
'一番はじめの列の幅の最小を100ピクセルとする
DataGridView1.Columns(0).MinimumWidth = 100
'一番はじめの行の高さの最小を50ピクセルとする
DataGridView1.Rows(0).MinimumHeight = 50
[C#]
//一番はじめの列の幅の最小を100ピクセルとする
DataGridView1.Columns[0].MinimumWidth = 100;
//一番はじめの行の高さの最小を50ピクセルとする
DataGridView1.Rows[0].MinimumHeight = 50;

行列表头部分行高列幅设置为不能编辑 

[VB.NET]
'列ヘッダーの高さを変更できないようにする
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing
'行ヘッダーの幅を変更できるようにする
DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing
[C#]
//列ヘッダーの高さを変更できないようにする
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.DisableResizing;
//行ヘッダーの幅を変更できるようにする
DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.EnableResizing;

2.DataGridView行高列幅自动调

[VB.NET]
'ヘッダーとすべてのセルの内容に合わせて、列の幅を自動調整する
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
'ヘッダーとすべてのセルの内容に合わせて、行の高さを自動調整する
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
[C#]
//ヘッダーとすべてのセルの内容に合わせて、列の幅を自動調整する
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
//ヘッダーとすべてのセルの内容に合わせて、行の高さを自動調整する
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

 表头部分行高列幅自动调整

[VB.NET]
'列ヘッダーの高さが自動調整されるようにする
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize
'行ヘッダーの幅が自動調整されるようにする
DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders
[C#]
//列ヘッダーの高さが自動調整されるようにする
DataGridView1.ColumnHeadersHeightSizeMode = DataGridViewColumnHeadersHeightSizeMode.AutoSize;
//行ヘッダーの幅が自動調整されるようにする
DataGridView1.RowHeadersWidthSizeMode = DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders;

指定列自动调整

[VB.NET]
'はじめの列の幅を自動調整する
DataGridView1.Columns(0).AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells
[C#]
//はじめの列の幅を自動調整する
DataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;

3.DataGridView指定行列冻结

列冻结(当前列以及左侧做所有列)

[VB.NET]
'DataGridView1の左側2列を固定する
DataGridView1.Columns(1).Frozen = True
[C#]
//DataGridView1の左側2列を固定する
DataGridView1.Columns[1].Frozen = true;

行冻结(当前行以及上部所有行)

[VB.NET]
'DataGridView1の上部2行を固定する
DataGridView1.Rows(2).Frozen = True
[C#]
//DataGridView1の上部2行を固定する
DataGridView1.Rows[2].Frozen = true;

指定单元格冻结(单元格所在行上部分所有行,列左侧所有列)

[VB.NET]
DataGridView1(0, 0). Frozen = True
[C#]
DataGridView1[0, 0]. Frozen = true;

4.DataGridView列顺序变更可否设定

[VB.NET]
'DataGridView1の列の位置をユーザーが変更できるようにする
DataGridView1.AllowUserToOrderColumns = True
[C#]
//DataGridView1の列の位置をユーザーが変更できるようにする
DataGridView1.AllowUserToOrderColumns = true;

但是如果列冻结的情况下,冻结的部分不能变更到非冻结的部分。变更后列位置取得

[VB.NET]
'列"Column1"の現在の位置を取得する
Console.WriteLine(DataGridView1.Columns("Column1").DisplayIndex)
'列"Column1"を先頭に移動する
DataGridView1.Columns("Column1").DisplayIndex = 0
[C#]
//列"Column1"の現在の位置を取得する
Console.WriteLine(DataGridView1.Columns["Column1"].DisplayIndex);
//列"Column1"を先頭に移動する
DataGridView1.Columns["Column1"].DisplayIndex = 0;

5.DataGridView行复数选择

复数行选择不可

[VB.NET]
'DataGridView1でセル、行、列が複数選択されないようにする
DataGridView1.MultiSelect = False
[C#]
//DataGridView1でセル、行、列が複数選択されないようにする
DataGridView1.MultiSelect = false;

单元格选择的时候默认为选择整行

[VB.NET]
'セルを選択すると行全体が選択されるようにする
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
[C#]
//セルを選択すると行全体が選択されるようにする
DataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

6.DataGridView选择的行、列、单元格取得

单元格选择的时候默认为选择整行

[VB.NET]
'選択されているセルを表示
Console.WriteLine("選択されているセル")
For Each c As DataGridViewCell In DataGridView1.SelectedCells
Console.WriteLine("{0}, {1}", c.ColumnIndex, c.RowIndex)
Next c
'選択されている行を表示
Console.WriteLine("選択されている行")
For Each r As DataGridViewRow In DataGridView1.SelectedRows
Console.WriteLine(r.Index)
Next r
'選択されている列を表示
Console.WriteLine("選択されている列")
For Each c As DataGridViewColumn In DataGridView1.SelectedColumns
Console.WriteLine(c.Index)
Next c
[C#]
//選択されているセルを表示
Console.WriteLine("選択されているセル");
foreach (DataGridViewCell c in DataGridView1.SelectedCells)
{
Console.WriteLine("{0}, {1}", c.ColumnIndex, c.RowIndex);
}
//選択されている行を表示
Console.WriteLine("選択されている行");
foreach (DataGridViewRow c in DataGridView1.SelectedRows)
{
Console.WriteLine(r.Index);
}
//選択されている列を表示
Console.WriteLine("選択されている列");
foreach (DataGridViewColumn c in DataGridView1.SelectedColumns)
{
Console.WriteLine(c.Index);
}

指定行、列、单元格取得

[VB.NET]
'(0, 0)のセルを選択する
DataGridView1(0, 0).Selected = True
'インデックス1の行を選択する
DataGridView1.Rows(1).Selected = True
'インデックス2の列を選択する
DataGridView1.Columns(2).Selected = True
[C#]
//(0, 0)のセルを選択する
DataGridView1[0, 0].Selected = true;
//インデックス1の行を選択する
DataGridView1.Rows[1].Selected = true;
//インデックス2の列を選択する
DataGridView1.Columns[2].Selected = true;