Xml之DataSet绑定

xml文件:

<?xml version="1.0" encoding="utf-8" ?>
<Tables>
<table ID="1">
<id>dbTestResult</id>
<name>高端路由器检测结果</name>
</table>
<table ID="2">
<id>dbTestMeter</id>
<name>高端路由器测试用仪表</name>
</table>
</Tables>

我想把他绑定到ComboBox控件中,

可以使用DataTable.ReadXml方式加载xml文件,然后把combobox绑定到该DataTable就可以了。
绑定的类似代码:
ComboBox1.DataSource = myDataSet ;//数据集
ComboBox1.DisplayMember = "table.id" ;//表名加字段名
ComboBox1.ValueMember = "table.name" ;
this.ComboBox1.DataSource = myDataTable;//数据表
this.ComboBox1.DisplayMember = "name";//字段名
this.ComboBox1.ValueMember = "id";//字段名

 private void GetXmlTableInfo()
{
//xml文件所在的路径
string xmlpath = @"..\..\Xml\tableInfo.xml";
DataSet xmlds = new DataSet();
xmlds.ReadXml(xmlpath);
comBTableName.DataSource = xmlds.Tables["table"];

//ComboBox显示的属性
comBTableName.DisplayMember = "name";
//ComboBox实际的属性值
comBTableName.ValueMember = "id";

}

那么该如何显示ComboBox的实际属性值呢?
如果你想直接MessageBox.Show(comBTableName.ValueMember.ToString());这样是不对的,因为他始终会得到如下提示:

那么正确的方法是什么呢?

 private void btnSure_Click(object sender, EventArgs e)
{
MessageBox.Show(comBTableName.SelectedValue.ToString());
}

结果显示:



posted @ 2012-02-09 10:19  佳园  阅读(1054)  评论(1编辑  收藏  举报