Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
セル単位ごとにdatagridviewにリストボックスをつけるには
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=11245#CommentId25531
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
shu
 (社会人)
投稿日時
2013/4/23 08:59:47
セルに対しDataSourceを設定するとよいです。
タイミングはセルへの移動時とかリスト内容が確定したタイミングなどが
よいのではないでしょうか。
Public Class Form1
Private tbl As DataTable
Public Sub New()
' この呼び出しはデザイナーで必要です。
InitializeComponent()
' InitializeComponent() 呼び出しの後で初期化を追加します。
tbl = New DataTable
With tbl.Columns
.Add("Col1", GetType(String))
.Add("Col2", GetType(String))
.Add("ColList", GetType(String()))
End With
Column1.DataPropertyName = "Col1"
Column2.DataPropertyName = "Col2"
DataGridView1.AutoGenerateColumns = False
DataGridView1.DataSource = tbl
tbl.Rows.Add({"aaa", "", New String() {"ccc1", "ccc2", "ccc3"}})
tbl.Rows.Add({"vvv", "", New String() {"ccc4", "ccc5", "ccc6"}})
End Sub
Private Sub DataGridView1_CellEnter(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEnter
If e.ColumnIndex = Column2.Index Then
Dim row = DirectCast(DataGridView1.Rows(e.RowIndex).DataBoundItem, DataRowView).Row
With DirectCast(DataGridView1.Item(e.ColumnIndex, e.RowIndex), DataGridViewComboBoxCell)
.DataSource = row("ColList")
End With
End If
End Sub
End Class