- PR -

スプレッドのコンボボックス型セルにデータバインドさせる方法

1
投稿者投稿内容
VB.NETER
会議室デビュー日: 2008/02/12
投稿数: 4
投稿日時: 2008-03-26 10:28

Dim cbstr As String()

cbstr = New String(){"Jan", "Feb", "Mar", "Apr", "May", "Jun"}

Dim cmbocell As New FarPoint.Win.Spread.CellType.ComboBoxCellType()


cmbocell.Items = cbstr
FpSpread1.activeSheets.cells(1,1).celltype = cmbocell

こうすると、スプレッドの(1.1)のセルに上記コンボボックスが入るのですが、
上記の配列変数に直書するのではなく、データセットの値をデータバインドさせたいのですが、どなたかご存知の方、ご教授お願いします。

cmbocell.datasouce= DataSet.table("mst_table")
cmbocell.item= "mst_Item"
cmbocell.Itemdata = "mst_ItemKbn"
のような形で、DBからデータをバインドさせて、それを上記のように
列単位でとっていくのがベストなんですが。。。

今はスプレッド3.0を使っています。
2.5にはDBからデータバインドさせる機能はありませんと書いてありましたが、
3.0ではできるのではないでしょうか?
VB.NETER
会議室デビュー日: 2008/02/12
投稿数: 4
投稿日時: 2008-03-26 11:07
追記:
最終的に何がしたいかというと、スプレッドの中で、コンボボックスを作って表示させる。ただ表示させるだけではなくて、表示値と内部値に分けて値を取得する。ということです。、そのコンボボックスの中の要素は、直書するのではなく、DBから取得して表示させる方法にしたいのです。

ヘルプを読むと、要素として表示させたい値を配列変数に値を入れて、その配列変数をITEMSで取得して、そのコンボボックス型オブジェクトをセルの中に入れるという形をとっていますが、直書はできません。
最悪、1件1件データセットから取得した項目を配列変数に代入して、それをコンボボックス型オブジェクト.ITEMSで取得させそのオブジェクトをコンボボックス型セルに挿入しようかと考えております。
rain
ぬし
会議室デビュー日: 2006/10/19
投稿数: 549
投稿日時: 2008-03-26 13:02
データバインドされたデータソースのフィールドを指定するためのプロパティがあるはずですので、ItemやItemdataプロパティの代わりにそれらを使えばよいと思います。

Web版ではDataTextFieldやDataValueFieldというプロパティだったはずですが、Win版のほうはわかりません。ドキュメントを確認してみてください。
(たぶん同じだと思いますが)
1

スキルアップ/キャリアアップ(JOB@IT)