C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: DataGridViewのコンボボックス列の生成について


(過去ログ 85 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■50605 / inTopicNo.1)  DataGridViewのコンボボックス列の生成について
  
□投稿者/ negi (1回)-(2010/06/12(Sat) 12:56:55)

分類:[.NET 全般] 

はじめまして。
現在DataGridViewを使用したフォームを作成しているのですが、
DataGridViewのある列をコンボボックスにして、
その値はデータベースから取得したものを表示させるといった部分を実装しているのですが、
関数を作成してフォームが表示させてもコンボボックスにアイテムが設定されずに困っております。
どなたかお知恵をお貸しいただけないでしょうか?

<関数>
Public Function createDGVComboBox(ByVal con As SqlConnection, ByVal sql As String) As  DataGridViewComboBoxColumn
Dim daCmb As SqlDataAdapter
Dim dsCmb As DataSet = New DataSet
Dim dtCmb As DataTable = New DataTable
Dim dgvCmb As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn

Try
daCmb = New SqlDataAdapter(sql, con)
daCmb.Fill(dsCmb, "コンボアイテム")
dtCmb = dsCmb.Tables("コンボアイテム")
With dgvCmb
.DataSource = dtCmb ←Rows.Countは10件です
.ValueMember = dtCmb.Columns(0).ColumnName
.DisplayMember = .ValueMember
End With
Catch ex As Exception
dgvCmb = Nothing
End Try

createDGVComboBox = dgvCmb ←Items.Countが0になってしまいます
End Function

<関数呼び出し元>
Dim dgvCmbCol As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn
Dim sql as String= "SELECT アイテム FROM テーブル"
with datagridview
dgvCmbCol = createDGVComboBox(con, sql)
dgvCmbCol.Name = "工事1"
dgvCmbCol.HeaderText = "項目"
.Columns.Add(dgvCmbCol)
End With
※conはSQLConnectionとして正常に接続されております。

引用返信 編集キー/
■50606 / inTopicNo.2)  Re[1]: DataGridViewのコンボボックス列の生成について
□投稿者/ negi (2回)-(2010/06/12(Sat) 13:22:33)
No50605 (negi さん) に返信
すいません、自己解決しましたので解決済みとさせていただきます。
また何かありましたらよろしくお願いいたします。

> はじめまして。
> 現在DataGridViewを使用したフォームを作成しているのですが、
> DataGridViewのある列をコンボボックスにして、
> その値はデータベースから取得したものを表示させるといった部分を実装しているのですが、
> 関数を作成してフォームが表示させてもコンボボックスにアイテムが設定されずに困っております。
> どなたかお知恵をお貸しいただけないでしょうか?
>
> <関数>
> Public Function createDGVComboBox(ByVal con As SqlConnection, ByVal sql As String) As  DataGridViewComboBoxColumn
> Dim daCmb As SqlDataAdapter
> Dim dsCmb As DataSet = New DataSet
> Dim dtCmb As DataTable = New DataTable
> Dim dgvCmb As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn
>
> Try
> daCmb = New SqlDataAdapter(sql, con)
> daCmb.Fill(dsCmb, "コンボアイテム")
> dtCmb = dsCmb.Tables("コンボアイテム")
> With dgvCmb
> .DataSource = dtCmb ←Rows.Countは10件です
> .ValueMember = dtCmb.Columns(0).ColumnName
> .DisplayMember = .ValueMember
> End With
> Catch ex As Exception
> dgvCmb = Nothing
> End Try
>
> createDGVComboBox = dgvCmb ←Items.Countが0になってしまいます
> End Function
>
> <関数呼び出し元>
> Dim dgvCmbCol As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn
> Dim sql as String= "SELECT アイテム FROM テーブル"
> with datagridview
> dgvCmbCol = createDGVComboBox(con, sql)
> dgvCmbCol.Name = "工事1"
> dgvCmbCol.HeaderText = "項目"
> .Columns.Add(dgvCmbCol)
> End With
> ※conはSQLConnectionとして正常に接続されております。
>
解決済み
引用返信 編集キー/
■50815 / inTopicNo.3)  Re[2]: DataGridViewのコンボボックス列の生成について
□投稿者/ 町田 (1回)-(2010/06/18(Fri) 16:01:29)

更新画面(画面3)を作成しています。
画面2から更新を押下すると更新画面が開きますが、そのとき商品IDを取ってきて表示しています。
テキストボックスに値を正しくありますが、コンボボックスの値が分からないです。
テキストボックスの時は Me.TxtSyouhinMe.Text = CStr(dr("goodsName"))
コンボボックスの時は ?
更新したい商品IDのカテゴリー名がコンボボックスに表示されること。
以上

よろしくお願いします。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -