【发布时间】:2011-05-28 17:38:08
【问题描述】:
在我的主窗体上,有dataGridView1,它绑定到一个数据库表。在我的编辑表单上,有一个ComboBox,它通过数据绑定从与dataGridView1 相同的数据库中获取它的项目。在dataGridView1 单元格双击时,该编辑表单将打开并填充编辑该特定行所需的所有字段。
这是我的问题:
当我尝试在该编辑表单上设置 ComboBox 的值时,没有任何反应。没有给出错误并且没有选择 ComboBox 中的项目。
fDodaj nov = new fDodaj();
nov.comboBox1.Text = dataGridView1.Rows[dataGridView1.CurrentRow.Index].Cells[4].Value.ToString();
if(nov.ShowDialog()==DialogResult.OK)
{
//code that updates the value in database
}
fDodaj 是我的编辑表单。
我尝试在ComboBox 上设置SelectedValue、SelectedItem、SelectedText 和Text 属性,无论如何都没有运气。
我做错了什么?
PS:我不太擅长Visual C#,但这是我的学校项目。如果您需要更多信息,请告诉我。
【问题讨论】:
-
数据何时绑定到 ComboBox?过早设置 ComboBox 文本(即在绑定 CB 之前)很可能是这里的问题。
-
数据绑定在
fDodaj_Load。我尝试将nov.combobox1.text = ...(以及 SelectedValue、SelectedItem 和 SelectedText)放入 if 语句中,但仍然没有运气。 -
在您设置上面的
ComboBox1.Text时,ComboBox 不会被绑定,因为在准备显示对话框时会发生绑定 - 在ShowDialog调用中. -
哦,所以我需要打开那个表单然后设置值,对吧?我认为表单完全建立在新对象的创建之上,我相信我现在明白了。