お世話になります。
DataGridViewのコンボボックスに、そのレコードが持つ値を初期値として表示させたいのですが、
やり方がわかりません。
画像はエクセルですが、DataGridViewでのイメージです。(開発用の端末が別であるため)
環境はVisualSutudio2013です。
よろしくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
こんにちは。
ハードコードであれですけど、実装例です。
実際はDBとの兼ね合いもありますけど。
VB.NET
1Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 2 Dim dt = New DataTable() 3 dt.Columns.Add("Name") 4 dt.Columns.Add("CodeBefore") 5 dt.Columns.Add("CodeAfter") 6 dt.Rows.Add("test1", "1", "1") 7 dt.Rows.Add("test2", "2", "") 8 dt.Rows.Add("test3", "3", "") 9 dt.Rows.Add("test4", "4", "") 10 11 Dim listMaster = New String() {"1", "2", "3"} 12 13 DataGridView1.Dock = DockStyle.Fill 14 DataGridView1.AutoGenerateColumns = False 15 DataGridView1.Columns.Add(New DataGridViewTextBoxColumn() With 16 { 17 .DataPropertyName = "Name", 18 .HeaderText = "氏名" 19 }) 20 DataGridView1.Columns.Add(New DataGridViewTextBoxColumn() With 21 { 22 .DataPropertyName = "CodeBefore", 23 .HeaderText = "コード" 24 }) 25 DataGridView1.Columns.Add(New DataGridViewComboBoxColumn() With 26 { 27 .DataSource = listMaster, 28 .DataPropertyName = "CodeAfter", 29 .HeaderText = "コード変更" 30 }) 31 DataGridView1.DataSource = dt 32End Sub
投稿2015/12/03 06:25
総合スコア4791
0
DataGridViewComboBoxColumn.Value = ValueMember(リストにある値を設定する)
これによって初期値が設置されるのではないでしょうか。
現在検証環境がないので、試してください。
投稿2015/12/03 06:23
総合スコア801
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/03 07:28