C#TextBox数据随ComboBox数据变化而变化

实现了下拉ComboBox框把数据导出到TextBox,但是只能导出一行数据,也就是我想下拉选择第二个No时,TextBox框里现实的还是原来的数据,没有随着ComboBox的变化而变化,这是为啥???哪位大神指导一下

 private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("Server=(local);Database=Depression;Integrated Security=sspi");



            DataSet ds = new DataSet();

            SqlDataAdapter da = new SqlDataAdapter("SELECT * FROM tb_LiaoChen ", con);

            da.Fill(ds, "tb_LiaoChen");

            con.Open();


            txb_Name.Text = ds.Tables["tb_LiaoChen"].Rows[0]["Name"].ToString();
            txb_chenfen.Text = ds.Tables["tb_LiaoChen"].Rows[0]["Chenfen"].ToString();
            txb_gx.Text = ds.Tables["tb_LiaoChen"].Rows[0]["Gongxiao"].ToString();
            txb_sy.Text = ds.Tables["tb_LiaoChen"].Rows[0]["Renqun"].ToString();
            con.Close();
            
        }

        private void 中药疗程_Load(object sender, EventArgs e)
        {
            SqlConnection sqlConnection = new SqlConnection();                                              //声明并实例化SQL连接;
            sqlConnection.ConnectionString =
                "Server=(local);Database=Depression;Integrated Security=sspi";                             //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证);
            SqlCommand sqlCommand = new SqlCommand();                                                       //声明并实例化SQL命令;
            sqlCommand.Connection = sqlConnection;
            sqlConnection.Open();

            //将学号查询出来添加到comboBox1中用户手动输入时有自动匹配功能
            string sqlstr = "select No from tb_LiaoChen";
            SqlCommand cmd = new SqlCommand(sqlstr, sqlConnection);
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            DataSet ds = new DataSet();
            da.Fill(ds, "No");

            AutoCompleteStringCollection collection = new AutoCompleteStringCollection();
            for (int i = 0; i < ds.Tables["No"].Rows.Count; i++)
            {
                comboBox1.Items.Add(ds.Tables["No"].Rows[i][0].ToString());
            }

            comboBox1.AutoCompleteCustomSource = collection;
            comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
            comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

            sqlConnection.Close();
        }


           

应该获取下拉框选中的索引号,而不是写死一个0下标

赖老师正解,你在ComboBox的selectedindexchanged事件中给textbox赋值,但每次赋的值都是一样的,因为你把下标写死了,将[0]改为[comboBox1.SelectedIndex-1]

赞成。

如图

 

我的界面,我想下拉选择2的时候,其他的TextBox框数据发生改变

您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

题主最后有解决吗