0

現在、アドレス帳のようなアプリケーションを作成しようとしています。Listbox は正常に動作し、すべてが正しく表示されます。しかし、選択したリストボックス項目の ID を別のフォームに渡す必要があります。Form2 で次のようなコードを取得しました。

Private myTable As New DataTable()
Public Sub LoadXml(sender As Object, e As EventArgs) Handles Me.Load

    With myTable.Columns
        .Add("DisplayValue", GetType(String))
        .Add("HiddenValue", GetType(Integer))
    End With
    myTable.DefaultView.Sort = "DisplayValue ASC"

    ListBox1.DisplayMember = "DisplayValue"
    ListBox1.ValueMember = "HiddenValue"
    ListBox1.DataSource = myTable
    Dim doc As New Xml.XmlDocument
    doc.Load("c:\address.xml")
    Dim xmlName As Xml.XmlNodeList = doc.GetElementsByTagName("name")
    Dim xmlSurname As Xml.XmlNodeList = doc.GetElementsByTagName("surname")
    Dim xmlId As Xml.XmlNodeList = doc.GetElementsByTagName("id")
    For i As Integer = 0 To xmlName.Count - 1
        Dim nazwa As String = xmlName(i).FirstChild.Value + " " + xmlSurname(i).FirstChild.Value
        myTable.Rows.Add(nazwa, xmlId(i).FirstChild.Value)
        MsgBox(myTable.Rows(i).Item(1).ToString)
    Next i
    ListBox1.Sorted = True
End Sub

コードの後半で私はイベントを持っています:

Public Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick

End Sub

選択したリストボックス項目の DataTable から id を呼び出す方法を知りたいです。私の英語は完璧ではないので、私の言いたいことを理解してくれることを願っています:)

4

1 に答える 1

0

idデータ テーブルの列にXML 値を追加し、リスト ボックスにHiddenValueを割り当てたHiddenValueのでValueMember、リスト ボックスでレコードが選択されると、リスト ボックスの[SelectedValue][1]メンバーで id が使用可能になります。例えば:

Public Sub ListBox1_DoubleClick(sender As Object, e As EventArgs) Handles ListBox1.DoubleClick
    MsgBox("Selected Id: " & ListBox1.SelectedValue.ToString())
End Sub
于 2013-01-06T00:18:25.400 に答える