Winforms Combobox SelectedValue为Null

Tar*_*ryn 5 c# combobox winforms

我有一个数据输入表单,上面有几个组合框.每个组合框都有自己的绑定源,并在启动表单时正确填充.但是,如果我编辑表单上的记录并尝试从组合框传递到数据库更新的选定值我得到一个错误,我传递的值为NULL.

这个问题似乎每隔一段时间就会发生一次,我无法弄清楚为什么它不能正常工作.基本上我试图在表中插入一条新记录但由于某种原因它未能拉出我选择的值.我插入数据的代码如下:

Data.Manager.AddEmployee
 (
   InactiveEmployeeSelected.GUID,
   Convert.ToByte(RoleComboBox.SelectedValue),
   NotesTextBox.Text.Trim(),
   ScheduleTextBox.Text.Trim(),
   ExtensionTextBox.Text.Trim(),
   CodeTextBox.Text.Trim(),
   Convert.ToBoolean(EBApprovedCheckbox.CheckState),
   Convert.ToByte(ApprovalLevelComboBox.SelectedValue),        //pulling null
   Convert.ToBoolean(AssignComtracksCheckbox.CheckState),
   Security.Manager.CurrentUser.GUID,
   DateTime.Today,
   Convert.ToBoolean(IsActiveCheckbox.CheckState)
);
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激.

Ste*_*ven 19

也许,你只需要使用SelectedItem,而不是!


Jef*_*ata 9

您是否使用了DropDownStyleDropDown,然后输入到组合框?如果是这样,那将导致SelectedValue为null,我假设因为输入的值不再是其中的一个项目ComboBox.

如果是这种情况,请设置DropDownStyleDropDownList,假设用户必须选择现有值.

  • 为我工作(超过5年后),默认的`DropDownStyle`是`DropDown`,而不是'DropDownList`.当设置为后者时,用户无法编辑选项,我可以使用`SelectedItem`属性进行设置. (2认同)

Vil*_*Vil 6

ComboBox必须有DataSource.通过ComboBox1.DataSource链接数据