<CS>
<Indicators>
<Indicator name="a" zh_name="A"/>
<Indicator name="b" zh_name="B" >
<Indicator name="c" zh_name="C" >
</Indicators>
</CS>以上这样的MXL 怎么加载到combobox里?
要求combobox显示的是 “A”
选择A 之后 tag里记 a
<Indicators>
<Indicator name="a" zh_name="A"/>
<Indicator name="b" zh_name="B" >
<Indicator name="c" zh_name="C" >
</Indicators>
</CS>以上这样的MXL 怎么加载到combobox里?
要求combobox显示的是 “A”
选择A 之后 tag里记 a
读取XML,节点。可以定义一个小对象,name,text 2个属性。分别赋值,放入ILIst中,进行绑定。另外可以直接用DataSet读取XML,然后绑定ComboBox,指定value,Text即可。
public class Indicators
{
public string Name{get;set;}
public string Value{get;set;}
public override string ToString()
{
return this.Name;
}
}//读取XML
XmlDocument doc = new XmlDocument();
doc.Load("XML路径");
XmlNode node = doc.SelectSingleNode("CS/Indicators");
if(node != null)
{
foreach(XmlNode xn in node.ChildNodes)
{
Indicators ind = new Indicators();
ind.Name = xn.Attributes["zh_name"].InnerText;
ind.Value = xn.Attributes["name"].InnerText;
//添加到ComboBox
comboBox1.Items.Add(ind);
}
}//取值
Indicators ind = comboBox1.SelectedItem as Indicators;
if(ind != null)
{
string name = ind.Name;
string value = ind.Value;
}
DataTable dt=ds.Tables(0);
ComboBox.DataSource=dt;
ComboBox.displayField="zh_name";
ComboBox.ValueField="name";
比如说从comboBox1的items里 comboBox1.text = "?"