社員ブログ
HOME  社員ブログ
ホーム > .NET, VB.NET, 社員:モンク, 開発言語, 雑記 > .net修行中44(DBから取得したデータを使ってDataGridViewのコンボボックス列をつくる)

.net修行中44(DBから取得したデータを使ってDataGridViewのコンボボックス列をつくる)

2013年07月31日 0時00分50秒

こんにちは、モンクです。

前回(.net修行中43)を更に応用して、データソースをデータベースのデータにしてみましょう。
実際にはこちらのほうが実用的でしょう。

<br />
        Try<br />
			'** コンボボックス列型の変数<br />
	        Dim cbc As DataGridViewComboBoxColumn = New DataGridViewComboBoxColumn</p>
<p>	        '** コンボボックス列アドレスを渡す(この例では先頭)<br />
	        cbc = dgv.Columns(0)</p>
<p>			'** データベースから取得したデータを格納<br />
	        Dim ds As DataSet = SELECT_CODE_NAME_FROM_TAB1()</p>
<p>			'***********************<br />
	        '** コンボボックス設定<br />
			'***********************<br />
			'** データソース<br />
	        cbc.DataSource = ds.Tables(&quot;TAB1&quot;)</p>
<p>			'** 内部処理に使う値(VALUE値)<br />
	        cbc.ValueMember = ds.Tables(&quot;TAB1&quot;).Columns(&quot;CODE&quot;).ToString</p>
<p>			'** 表示する値<br />
	        cbc.DisplayMember = ds.Tables(&quot;TAB1&quot;).Columns(&quot;NAME&quot;).ToString</p>
<p>        Catch ex As Exception<br />
			MsgBox(ex.Message)<br />
        End Try</p>
<p>


DBからデータを取得するメソッドである SELECT_CODE_NAME_FROM_TAB1() はデータセット(以下ds)を返します。
dsの中には、データテーブル(以下dt)が入っています。
そのdtは名前が TAB1 で 列の名前がそれぞれ CODE , NAME です。
データソースに TAB1 をバインドし、それぞれVALUE値に使用する列、表示値に使用する列を指定します。

さて、.net仕事で使うことがなくなるため、一旦ここで記事を終了します。
とはいえ、修行はまだまだ続きます。

.NET, VB.NET, 社員:モンク, 開発言語, 雑記

  1. コメントはまだありません
  1. トラックバックはまだありません