Combobox不会改变价值

时间:2017-01-28 11:02:47

标签: c# combobox

我有一个组合框,可以检索正确的数据,但不会更改。我的意思是,当我尝试更改它时,总是给我列表中的第一个名字。知道为什么吗?感谢

scalaVersion := "2.11.8"

libraryDependencies ++= {
  Seq(
    "org.json4s" %% "json4s-ext" % "3.5.0",
    "org.json4s" %% "json4s-native" % "3.5.0",
    "org.scalatest" %% "scalatest" % "2.2.6" % Test
  )
}

2 个答案:

答案 0 :(得分:0)

您正在重新审核并绑定 SelectedIndexChanged 上的数据。因此,每次更改值时,它都将从后端获取数据并再次绑定。

更好的处理方法是在加载表单时或在使用相应事件初始化时绑定数据。

<强> CODE:

private void Form1_Load(object sender, System.EventArgs e)
  {
      SqlConnection conn2 = new SqlConnection("Data Source=DIEGOPC;Initial Catalog=Studio;Integrated Security=True;");
        conn2.Open();
        SqlCommand sc = new SqlCommand("SELECT Nome FROM DClub order by Nome", conn2);
        SqlDataReader reader;
        reader = sc.ExecuteReader();
        DataTable dt = new DataTable();
        dt.Columns.Add("Nome", typeof(string));
        dt.Load(reader);
        comboBox1.DataSource = dt;
        comboBox1.ValueMember = "Nome";
        comboBox1.DisplayMember = "Nome";
        conn2.Close();
  }

答案 1 :(得分:0)

对此答案不太确定。更改您分配数据源的顺序

ComboBox1.ValueMember = "Nome"; 

ComboBox1.DisplayMember = "Nome";

ComboBox1.DataSource = dt;

如果在开头设置数据源,则每次在设置值成员之前触发selectedchanged事件。只是一个猜测