我创建了一个toolStripComboBox并从数据库中检索所有项目列表选择,如下所示:

private void toolStripComboBox1_Click(object sender, EventArgs e)
    {
        toolStripComboBox1.ComboBox.ValueMember = "month";
        toolStripComboBox1.ComboBox.DataSource = dbConnect.selectMonth(); //get all month from the database
    }


然后,comboBox将显示数据库中的所有月份。

之后,我尝试使用selectedItem这样的东西从comboBox中获取选择:

string monthSelect = toolStripComboBox1.SelectedItem.ToString();


但是我得到的值是monthSelect = "System.Data.DataRowView"

知道如何获取值而不是System.Data.DataRowView吗?

最佳答案

有一个解决方案。将datasource用于toolStripComboBox时:

toolStripComboBox1.ComboBox.ValueMember = "valueMember";
toolStripComboBox1.ComboBox.DataSource = datasource();  //retrieve value from database into comboBox list


toolStripComboBox1.SelectedItem将仅返回DataRow的自定义视图。为了获得当前选择的值,需要使用:

toolStripComboBox1.ComboBox.SelectedValue.ToString();

关于c# - 从toolStripComboBox检索值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24115921/

10-12 16:32