我有一个关于巫婆的WinForm我有一个显示网站列表的DataGridView。下面那个网格我有一个TextBox和一个Combobox,使用DataBinding文本框显示当前值“Code”网格列和组合框显示省。组合框中填充了省份列表 奇怪的是这个: 当我将组合框选择的省更改为另一个省时,在焦点离开组合框时,组合框的原始值返回。我找不到让组合框保持更改值的方法。
我做错了什么?
这是我工作台项目的代码;
private void Form1_Load(object sender, EventArgs e)
{
context = new GMR_DEVEntities();
lSite = from t in context.tblSites where t.Actif == true select t;
this.dataGridView1.DataSource = lSite;
this.dataGridView1.AutoGenerateColumns = true;
Guid ProvinceId = Guid.Parse("00000000-0001-0000-0008-000000000001");
IQueryable<tblDomVal> provinces = from prov in context.tblDomVals where prov.pTypeDomValID == ProvinceId select prov;
comboBox1.DataSource = provinces;
comboBox1.ValueMember = "ID";
comboBox1.DisplayMember = "DescrFr";
textBox1.DataBindings.Add(new Binding("Text", lSite, "Code"));
comboBox1.DataBindings.Add(new Binding("SelectedValue", lSite, "pProvinceID", false, DataSourceUpdateMode.OnPropertyChanged));
}
欢迎任何帮助:)
雨果
答案 0 :(得分:0)
尝试为您的组合创建新的绑定上下文
BindingContext oBC = new BindingContext();
comboBox1.BindingContext = oBC;
comboBox1.DataBindings.Add(new Binding("SelectedValue", lSite, "pProvinceID", false, DataSourceUpdateMode.OnPropertyChanged));
答案 1 :(得分:0)
在搜索解决方案时,我发现问题与数据类型有关(我的所有表ID都是GUID),我已经将Binding更改为与varchar字段而不是guid绑定,并且事情进展顺利。所以这个问题与GUID有关。但我会改变我的方法,并使用手动绑定