如何将多列组合框的第一个元素放入网格视图?

时间:2015-12-29 14:57:49

标签: c# winforms combobox telerik runtime-error

我正在使用 telerik网格视图多列组合框

我想获取组合框的第一个元素并将其插入网格视图的第一个单元格中,然后将其插入到数据库中

当我选择组合框元素

时出现运行时错误
  

对象引用未设置为对象的实例

这是它发生的地方(在最后一行)

    {
        Application.EnableVisualStyles();
        Application.SetCompatibleTextRenderingDefault(false);
        Application.Run(new Form1());
    }

这是导致此运行时错误的代码

private void radMultiColumnComboBox3_SelectedIndexChanged(object sender, EventArgs e)
    {
        string text;
        text = radMultiColumnComboBox3.SelectedValue.ToString();
        radGridView1.Rows.Add(Text);
    }

1 个答案:

答案 0 :(得分:1)

首先,组合框的第一个元素不一定在SelectedValue中。

text = radMultiColumnComboBox3.SelectedValue.ToString(); //this doesn't get the first value

顾名思义,SelectedValue是组合框的选定值,它不是它的第一个元素。

其次,您的ComboBox 可能会选择值且SelectedValue == null。因此SelectedValue.ToString()无法执行。

要查看ComboBox是否有项目,请使用Items.Count

if (radMultiColumnComboBox3.MultiColumnComboBoxElement.Rows.Count > 0){
    //do something, item exists
    //check also SelectedIndex of the combo box, if it is == -1, nothing is selected
} else {
    //This combobox does not have any item
}

至于获得第一个元素,你可以做这样的事情,

var item = radMultiColumnComboBox3.MultiColumnComboBoxElement.Rows[0]; //item is the first element, provided the count > 0