2012-07-10 63 views
1

我有两个组合框在我的应用程序。第一个组合框可以获得所有需要的数据(在这种情况下,它是工厂编号),但是取决于选择哪个工厂,我希望下一个组合框(在这种情况下是行号)自动填充该工厂的正确行。 这里是我的XML文件 - 或测试数据我有一个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。

感谢

+0

那么,什么是问题? – adatapost 2012-07-10 08:18:05

+0

我不知道如何根据刚刚选择的组合框填充第二个组合框 – TeamGB 2012-07-10 08:21:49

回答

1

你要清楚的lineComboBox的项目集合,改变它的SelecteNodes路径。

lineComboBox.Items.Clear() 
Dim lineList As XmlNodeList = doc.SelectNodes("/Profiles/Lines/" & factoryComboBox.SelectedItem.ToString) 
For Each line As XmlNode In lineList 
    lineComboBox.Items.Add(line.FirstChild.InnerText) 
Next 
+1

我刚刚完成此操作,然后再次检查。很高兴看到我终于完成了它。自昨天以来一直卡住它,非常感谢 – TeamGB 2012-07-10 08:45:47

相关问题