加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

DataGridView控件用法合集(九)

发布时间:2020-12-16 22:45:17 所属栏目:大数据 来源:网络整理
导读:近期将DataGridView常用的一些用法做了一个整理。为防止页面过长,现分批贴出来,此为第九部分。 DataGridView中添加控件 45. DataGridView中显示选择框CheckBox 46. DataGridView中显示下拉框ComboBox 47. DataGridView单击打开下拉框 48. DataGridView中显
近期将DataGridView常用的一些用法做了一个整理。为防止页面过长,现分批贴出来,此为第九部分。

DataGridView中添加控件

45. DataGridView中显示选择框CheckBox
46. DataGridView中显示下拉框ComboBox
47. DataGridView单击打开下拉框
48. DataGridView中显示按钮
49. DataGridView中显示链接
50. DataGridView中显示图像

45. DataGridView列中显示选择框CheckBox

[VB.NET]

'CheckBox列を追加する

Dim column As New DataGridViewCheckBoxColumn

DataGridView1.Columns.Add(column)

[C#]

//CheckBox列を追加する

DataGridViewCheckBoxColumn column = new DataGridViewCheckBoxColumn();

DataGridView1.Columns.Add(column);

中间状态在内的三种状态表示

[VB.NET]

'3種類のチェック状態を表示できるようにする

Dim column As DataGridViewCheckBoxColumn = _

CType(DataGridView1.Columns(0),DataGridViewCheckBoxColumn)

column.ThreeState = True

[C#]

//3種類のチェック状態を表示できるようにする

DataGridViewCheckBoxColumn column =

(DataGridViewCheckBoxColumn)DataGridView1.Columns[0];

column.ThreeState = true;


46. DataGridView
中显示下拉框ComboBox

[VB.NET]

'DataGridViewComboBoxColumnを作成

Dim column As New DataGridViewComboBoxColumn()

'ComboBoxのリストに表示する項目を指定する

column.Items.Add("日曜日")

column.Items.Add("月曜日")

column.Items.Add("火曜日")

column.Items.Add("水曜日")

column.Items.Add("木曜日")

column.Items.Add("金曜日")

column.Items.Add("土曜日")

'"Week"列にバインドされているデータを表示する

column.DataPropertyName = "Week"

'"Week"列の代わりにComboBox列を表示する

DataGridView1.Columns.Insert(DataGridView1.Columns("Week").Index,column)

DataGridView1.Columns.Remove("Week")

column.Name = "Week"

[C#]

//DataGridViewComboBoxColumnを作成

DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();

//ComboBoxのリストに表示する項目を指定する

column.Items.Add("日曜日");

column.Items.Add("月曜日");

column.Items.Add("火曜日");

column.Items.Add("水曜日");

column.Items.Add("木曜日");

column.Items.Add("金曜日");

column.Items.Add("土曜日");

//"Week"列にバインドされているデータを表示する

column.DataPropertyName = "Week";

//"Week"列の代わりにComboBox列を表示する

DataGridView1.Columns.Insert(DataGridView1.Columns["Week"].Index,column);

DataGridView1.Columns.Remove("Week");

column.Name = "Week";

通过列Data绑定设置ComboBox

[VB.NET]

'ComboBoxに表示するためのリストを作成する

Dim weekTable As New DataTable("WeekTable")

weekTable.Columns.Add("Display",GetType(String))

weekTable.Columns.Add("Value",GetType(Integer))

weekTable.Rows.Add("日曜日",0)

weekTable.Rows.Add("月曜日",1)

weekTable.Rows.Add("火曜日",2)

weekTable.Rows.Add("水曜日",3)

weekTable.Rows.Add("木曜日",4)

weekTable.Rows.Add("金曜日",5)

weekTable.Rows.Add("土曜日",6)

'DataGridViewComboBoxColumnを作成

Dim column As New DataGridViewComboBoxColumn()

'"Week"列にバインドされているデータを表示する

column.DataPropertyName = "Week"

'DataGridViewComboBoxColumnのDataSourceを設定

column.DataSource = weekTable

'実際の値が"Value"列、表示するテキストが"Display"列とする

column.ValueMember = "Value"

column.DisplayMember = "Display"

'DataGridView1に追加する

DataGridView1.Columns.Add(column)

[C#]

//ComboBoxに表示するためのリストを作成する

DataTable weekTable = new DataTable("WeekTable");

weekTable.Columns.Add("Display",typeof(string));

weekTable.Columns.Add("Value",typeof(int));

weekTable.Rows.Add("日曜日",0);

weekTable.Rows.Add("月曜日",1);

weekTable.Rows.Add("火曜日",2);

weekTable.Rows.Add("水曜日",3);

weekTable.Rows.Add("木曜日",4);

weekTable.Rows.Add("金曜日",5);

weekTable.Rows.Add("土曜日",6);

//DataGridViewComboBoxColumnを作成

DataGridViewComboBoxColumn column = new DataGridViewComboBoxColumn();

//"Week"列にバインドされているデータを表示する

column.DataPropertyName = "Week";

//DataGridViewComboBoxColumnのDataSourceを設定

column.DataSource = weekTable;

//実際の値が"Value"列、表示するテキストが"Display"列とする

column.ValueMember = "Value";

column.DisplayMember = "Display";

//DataGridView1に追加する

DataGridView1.Columns.Add(column);

默认状态下,所有下拉框都显示;DisplayStyleForCurrentCellOnlyTrue的状态下,当前的单元格显示下拉框,其余不显示;还有一种就是光标移动时强调显示。如下图左中右三列。

47. DataGridView单击打开下拉框

通常情况下要打开下拉框需要点击目标单元格三次,第一次选中单元格,第二次进入编辑状态,第三次才能打开下拉框

[VB.NET]

'CellEnterイベントハンドラ

Private Sub DataGridView1_CellEnter(ByVal sender As Object,_

ByVal e As DataGridViewCellEventArgs) _

Handles DataGridView1.CellEnter

Dim dgv As DataGridView = CType(sender,DataGridView)

If dgv.Columns(e.ColumnIndex).Name = "ComboBox" AndAlso _

TypeOf dgv.Columns(e.ColumnIndex) Is DataGridViewComboBoxColumn Then

SendKeys.Send("{F4}")

End If

End Sub

[C#]

//CellEnterイベントハンドラ

private void DataGridView1_CellEnter(object sender,

DataGridViewCellEventArgs e)

{

DataGridView dgv = (DataGridView)sender;

if (dgv.Columns[e.ColumnIndex].Name == "ComboBox" &&

dgv.Columns[e.ColumnIndex] is DataGridViewComboBoxColumn)

{

SendKeys.Send("{F4}");

}

}

48. DataGridView中显示按钮

[VB.NET]

'DataGridViewButtonColumnの作成

Dim column As New DataGridViewButtonColumn()

'列の名前を設定

column.Name = "Button"

'全てのボタンに"詳細閲覧"と表示する

column.UseColumnTextForButtonValue = True

column.Text = "詳細閲覧"

'DataGridViewに追加する

DataGridView1.Columns.Add(column)

[C#]

//DataGridViewButtonColumnの作成

DataGridViewButtonColumn column = new DataGridViewButtonColumn();

//列の名前を設定

column.Name = "Button";

//全てのボタンに"詳細閲覧"と表示する

column.UseColumnTextForButtonValue = true;

column.Text = "詳細閲覧";

//DataGridViewに追加する

DataGridView1.Columns.Add(column);

按钮按下事件取得

[VB.NET]

'CellContentClickイベントハンドラ

Private Sub DataGridView1_CellContentClick(ByVal sender As Object,_

ByVal e As DataGridViewCellEventArgs) _

Handles DataGridView1.CellContentClick

Dim dgv As DataGridView = CType(sender,DataGridView)

'"Button"列ならば、ボタンがクリックされた

If dgv.Columns(e.ColumnIndex).Name = "Button" Then

MessageBox.Show((e.RowIndex.ToString() + _

"行のボタンがクリックされました。"))

End If

End Sub

[C#]

//CellContentClickイベントハンドラ

private void DataGridView1_CellContentClick(object sender,

DataGridViewCellEventArgs e)

{

DataGridView dgv = (DataGridView)sender;

//"Button"列ならば、ボタンがクリックされた

if (dgv.Columns[e.ColumnIndex].Name == "Button")

{

MessageBox.Show(e.RowIndex.ToString() +

"行のボタンがクリックされました。");

}

}

49. DataGridView中显示链接

[VB.NET]

'DataGridViewLinkColumnの作成

Dim column As New DataGridViewLinkColumn()

'列の名前を設定

column.Name = "Link"

'全てのリンクに"詳細閲覧"と表示する

column.UseColumnTextForLinkValue = True

column.Text = "詳細閲覧"

'マウスポインタがリンク上にあるときだけ下線をつける

column.LinkBehavior = LinkBehavior.HoverUnderline

'自動的に訪問済みとならないようにする

'デフォルトでTrue

column.TrackVisitedState = True

'DataGridViewに追加する

DataGridView1.Columns.Add(column)

[C#]

//DataGridViewLinkColumnの作成

DataGridViewLinkColumn column = new DataGridViewLinkColumn();

//列の名前を設定

column.Name = "Link";

//全てのリンクに"詳細閲覧"と表示する

column.UseColumnTextForLinkValue = true;

column.Text = "詳細閲覧";

//マウスポインタがリンク上にあるときだけ下線をつける

column.LinkBehavior = LinkBehavior.HoverUnderline;

//自動的に訪問済みになるようにする

//デフォルトでTrue

column.TrackVisitedState = true;

//DataGridViewに追加する

DataGridView1.Columns.Add(column);

链接按下事件取得

[VB.NET]

'CellContentClickイベントハンドラ

Private Sub DataGridView1_CellContentClick(ByVal sender As Object,DataGridView)

'"Link"列ならば、ボタンがクリックされた

If dgv.Columns(e.ColumnIndex).Name = "Link" Then

MessageBox.Show((e.RowIndex.ToString() + _

"行のリンクがクリックされました。"))

'訪問済みにする

Dim cell As DataGridViewLinkCell = _

CType(dgv(e.ColumnIndex,e.RowIndex),DataGridViewLinkCell)

cell.LinkVisited = True

End If

End Sub

[C#]

//CellContentClickイベントハンドラ

private void DataGridView1_CellContentClick(object sender,

DataGridViewCellEventArgs e)

{

DataGridView dgv = (DataGridView)sender;

//"Link"列ならば、ボタンがクリックされた

if (dgv.Columns[e.ColumnIndex].Name == "Link")

{

MessageBox.Show(e.RowIndex.ToString() +

"行のリンクがクリックされました。");

//訪問済みにする

DataGridViewLinkCell cell =

(DataGridViewLinkCell)dgv[e.ColumnIndex,e.RowIndex];

cell.LinkVisited = true;

}

}

50. DataGridView中显示图像

[VB.NET]

'DataGridViewImageColumnの作成

Dim column As New DataGridViewImageColumn()

'列の名前を設定

column.Name = "Image"

'Icon型ではなく、Image型のデータを表示する

'デフォルトでFalseなので、変更する必要はない

column.ValuesAreIcons = False

'値の設定されていないセルに表示するイメージを設定する

column.Image = New Bitmap("C:/null.gif")

'イメージを縦横の比率を維持して拡大、縮小表示する

column.ImageLayout = DataGridViewImageCellLayout.Zoom

'イメージの説明

'セルをクリップボードにコピーした時に使用される

column.Description = "イメージ"

'DataGridViewに追加する

DataGridView1.Columns.Add(column)

'"Image"列の一番上のセルのイメージを変更する

DataGridView1("Image",0).Value = New Bitmap("C:/top.gif") '

[C#]

//DataGridViewImageColumnの作成

DataGridViewImageColumn column = new DataGridViewImageColumn();

//列の名前を設定

column.Name = "Image";

//Icon型ではなく、Image型のデータを表示する

//デフォルトでFalseなので、変更する必要はない

column.ValuesAreIcons = false;

//値の設定されていないセルに表示するイメージを設定する

column.Image = new Bitmap("C://null.gif");

//イメージを縦横の比率を維持して拡大、縮小表示する

column.ImageLayout = DataGridViewImageCellLayout.Zoom;

//イメージの説明

//セルをクリップボードにコピーした時に使用される

column.Description = "イメージ";

//DataGridViewに追加する

DataGridView1.Columns.Add(column);

//"Image"列の一番上のセルのイメージを変更する

DataGridView1["Image",0].Value = new Bitmap("C://top.gif");

图片属性单元格未设值时红差不显示的设定

[VB.NET]

'イメージ列を取得

Dim imageColumn As DataGridViewImageColumn = _

CType(DataGridView1.Columns("Image"),DataGridViewImageColumn)

'セルスタイルのNullValueをnullにする

imageColumn.DefaultCellStyle.NullValue = Nothing

[C#]

//イメージ列を取得

DataGridViewImageColumn imageColumn =

(DataGridViewImageColumn)DataGridView1.Columns["Image"];

//セルスタイルのNullValueをnullにする

imageColumn.DefaultCellStyle.NullValue = null;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读