当我在dataRawView
中获得combobox
而不是值时,我想知道是否可以将此dataset
绑定到combobox
(cbMissAtt
)?
我错过了什么?我在这上面阅读了许多答案但是找不到我的方法(据我所知,我缺少设置DisplayMember但我不知道如何为这个特定的例子做到这一点)。
P.S。当我第一次尝试从xml
填充cb时,我发现了这个代码。
DataSet ds = new DataSet();
DataTable dt = new DataTable("Root");
dt.Columns.Add("text");
dt.Columns.Add("value");
ds.Tables.Add(dt);
foreach (DataColumn dc in dt.Columns)
{
dc.ColumnMapping = MappingType.Attribute;
}
//after I am reading and later closing stream
//part of code is missing because I think
//its not relevant for the question/answer(hopefully)
cbMissAtt.DataSource = ds.Tables[0];
非常简单xml
:
<?xml version="1.0" encoding="UTF-8"?>
<Root>
<Field text="text.." value="dedication"></Field>
</Root>
我在表单constructor
答案 0 :(得分:0)
您可以尝试以下代码:
printch
除非您的cbMissAtt.DataBindings.Clear();
cbMissAtt.DataSource = ds.Tables[0];
cbMissAtt.DisplayMember = "value";
cbMissAtt.ValueMember = "text";
代码存在问题,否则应显示value
列下的值。
答案 1 :(得分:0)
在xml文件而不是<field></field>
(初学者的错误:)):
<text>sometext</text>
<value>somevalue</value>
也在代码中添加:
cbMissAtt.DisplayMember = "value";
cbMissAtt.ValueMember = "text";
感谢P. Pat!