绑定xml多种多样,找到合适自己的才是好的。
xml 的内容:
- comboBox1.Items.Clear(); //清空comboBox1中的集合
- string xmlpath = @"Total.xml"; //工程中的xml,在 \bin\Debug 文件夹中
- XmlDocument xmldoc = new XmlDocument();
- xmldoc.Load(xmlpath);
- XmlNodeList nodelist = xmldoc.SelectSingleNode("SysSeting").ChildNodes;
- for(int i=0;i<nodelist.Item(0).ChildNodes.Count;i++)
- {
- comboBox1.Items.Add(xmldoc.SelectSingleNode("SysSeting/Total").ChildNodes[i].InnerText);
- }
- this.comboBox1.SelectedIndex = -1;
comboBox1下拉结果:
FigData
File
A
B
C
D
壹
贰
以上这些是简单的,那么我们来个二联。
xml 文件:
- <?xml version="1.0" encoding="GB2312" standalone="yes"?>
- <!--Total.xml-->
- <!-- 用于显示其他表,请勿修改 -->
- <SysSeting>
- <!--内容-->
- <Total>
- <Name>姓名A</Name>
- <value>ID1</value>
- </Total>
- <Total>
- <Name>姓名B</Name>
- <value>ID2</value>
- </Total>
- <Total>
- <Name>姓名C</Name>
- <value>ID3</value>
- </Total>
- <Total>
- <Name>姓名D</Name>
- <value>ID4</value>
- </Total>
- </SysSeting>
C# 绑定方法:
- /// <summary> - 数据绑定 - 绑定到 ComboBox
- /// </summary>
- private void GetXmlTable()
- {
- //xml文件所在的路径
- string xmlpath = @"Total.xml"; //注意文件位置 此处表示在工程 \bin\Debug 中
- DataSet xmlds = new DataSet();
- xmlds.ReadXml(xmlpath);
- //ComboBox显示的属性(Text 前台显示)
- comboBox1.DisplayMember = "Name";
- //ComboBox实际的属性值(隐藏/后台)
- comboBox1.ValueMember = "value";
- /* comboBox1获取表集合内容,
- * DataSource 要习惯放在后面,
- * 不要放在DisplayMember和ValueMember 的前面
- */
- comboBox1.DataSource = xmlds.Tables["Total"];
- }
C# comboBox1.SelectedIndex 值改变后发生 事件:
不要直接用 label1.Text = comboBox1.SelectedValue.ToString(); 这样你得到的结果值:value
这样,你改变 comboBox1.DisplayMember 值后,comboBox1.ValueMember 值也跟着传递出去。 最后提一句,xml 对大小写敏感,要注意区分大小写。