在由C#中的数据表填充的组合框中设置SelectedValue?

问题描述 投票:0回答:1

我的表单中有一个组合框。此组合框填充有数据库(系)中表中的值。我需要基于同一数据库中另一个表(学生)中的记录来设置此组合框的SelectedValue。到目前为止,我已经能够填充组合框,但无法设置SelectedValue

// --- populate faculty cmb ---
        MySqlCommand cmdCmb = new MySqlCommand("SELECT facultyname FROM faculty;", db.getConnection());
        db.openConnection();    // open connection

        using (var reader = cmdCmb.ExecuteReader())
        {
            while (reader.Read())
            {
                cmbfaculty.Items.Add(reader.GetString("facultyname"));
            }
        }

        string sQuery = "SELECT indexno,faculty FROM student WHERE indexno ='"+selected+"'";
        MySqlCommand cmd = new MySqlCommand(sQuery, db.getConnection());
        MySqlDataAdapter adapter = new MySqlDataAdapter(cmd);
        DataTable table = new DataTable();
        adapter.Fill(table);

        txtindex.Text = table.Rows[0][0].ToString();
        cmbfaculty.SelectedValue = table.Rows[0][1].ToString();

此代码无法基于SelectValue表的值设置student。希望解决该问题。

c# .net
1个回答
0
投票

能够通过找到与指定字符串ComboBox.FindStringExact Method完全匹配的项来找到解决方案,>

cmbfaculty.SelectedValue = table.Rows[0][1].ToString();

需要替换为

cmbfaculty.SelectedIndex = cmbfaculty.FindStringExact(table.Rows[0][1].ToString()) ;
© www.soinside.com 2019 - 2024. All rights reserved.