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

わんくま同盟

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

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


(過去ログ 65 を表示中)
■37736 / )  Re[7]: DataRepeaterにComboBoxを配置
□投稿者/ ゆい (7回)-(2009/06/29(Mon) 16:45:01)
> であれば、↓で自分が書いたのと同じ原因な気がします。
> http://bbs.wankuma.com/index.cgi?mode=al2&namber=35451&KLOG=61
を見ると、

> それぞれの ComboBox の DataSource プロパティに同じデータソースのインスタンスを適用するとそうなった記憶が。
> うろ覚えだけど。
という事でしたので、

下のページを参考に、インスタンスを別に適用するようにしてみました。
http://www.vbforums.com/showthread.php?t=535556

その結果、Comboboxは個別に選択できるようになったんですが、
SelectedValueがきいてないといいますか、なんといえばよいのでしょうか?

DBのデータ(キー)と一致しているリスト項目が、デフォルトで選択されないです。
※Comboboxでデフォルト選択されているリスト項目がバラバラです。

どうにかなりませんでしょうか?
よろしくお願いします。


以下にソースを記します。



SelectedValueは↓の設定になっています。

ComboBox.SelectedValue = order_msiBindingSource - kokyaku_id

↓ソース
Private Sub DataRepeater1_ItemCloned(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.PowerPacks.DataRepeaterItemEventArgs) Handles DataRepeater1.ItemCloned


Try

Dim Cmb As ComboBox = e.DataRepeaterItem.Controls("M_supplier_idComboBox")

      ’↓以下の部分は、実際にはDBからデータを取得します。

Dim VDP_Array As New ArrayList
VDP_Array.Add(New ComboListData("A店", 1))
VDP_Array.Add(New ComboListData("B店", 2))
VDP_Array.Add(New ComboListData("C店", 3))
VDP_Array.Add(New ComboListData("D店", 4))
VDP_Array.Add(New ComboListData("E店", 5))

Cmb.DisplayMember = "DisplayMember"
Cmb.ValueMember = "ValueMember"
Cmb.DataSource = VDP_Array

'Cmb.SelectedValue = 3

Catch ex As Exception

End Try

End Sub


Private Class ComboListData

Private sName As String
Private iID As Integer

Public Sub New()
sName = ""
iID = 0
End Sub

Public Sub New(ByVal Name As String, ByVal ID As Integer)
sName = Name
iID = ID
End Sub

Public Property DisplayMember() As String
Get
Return sName
End Get

Set(ByVal sValue As String)
sName = sValue
End Set
End Property

Public Property ValueMember() As Integer
Get
Return iID
End Get

Set(ByVal iValue As Integer)
iID = iValue
End Set
End Property

Public Overrides Function ToString() As String
Return sName
End Function

End Class

返信 編集キー/


管理者用

- Child Tree -