アプリケーションに 2 つのコンボボックスがあります。最初のコンボボックスは必要なすべてのデータ (この場合は工場番号) を取得できますが、選択されている工場に応じて、次のコンボボックス (この場合は行番号) にその工場の正しい行が自動的に入力されるようにします。これが私のXMLファイルです - またはテストデータ
<?xml version="1.0" encoding="utf-8"?>
<Profiles>
<Factories>
<Factory>F1</Factory>
<Factory>F2</Factory>
<Factory>F3</Factory>
<Factory>F4</Factory>
<Factory>F5</Factory>
<Factory>F6</Factory>
<Factory>F7</Factory>
<Factory>F8</Factory>
</Factories>
<Lines>
<F1>G1</F1>
<F1>G2</F1>
<F1>G3</F1>
</Lines>
</Profiles>
これが私がこれまでに持っているものです:
Private Sub populateComboBoxes()
Dim doc As New XmlDocument()
doc.Load("C:\TFS2010Source\ShopFloorApps\Main\Source\Components\000280LinePCBackup\000280LinePCBackup\Lines.XML")
Dim factoryList As XmlNodeList = doc.SelectNodes("/Profiles/Factories/Factory")
For Each Factory As XmlNode In factoryList
factoryComboBox.Items.Add(Factory.InnerText)
Next
End Sub
Private Sub factoryComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles factoryComboBox.SelectedIndexChanged
Dim doc As New XmlDocument()
doc.Load("C:\TFS2010Source\ShopFloorApps\Main\Source\Components\000280LinePCBackup\000280LinePCBackup\Lines.XML")
Dim lineList As XmlNodeList = doc.SelectNodes("/Profiles/Lines")
For Each line As XmlNode In lineList
If factoryComboBox.SelectedItem.ToString = line.FirstChild.Name Then
lineComboBox.Items.Add(line.FirstChild.InnerText)
End If
Next
End Sub
だから私が欲しいのは、F1を選択すると、他のコンボボックスにG1、G2、G3の行が入力されることです。
ありがとう