zoukankan      html  css  js  c++  java
  • 其他窗体赋值给comboBox实现值的回显,并使赋的值处于选中状态(根据text获取selectedindex)

    Form1 发货单位的这个下拉框comboBox1已经绑定数据库test表的name字段,里面有很多单位名称

    比如有:甲公司、乙公司...

    1、Form1的comboBox1首先绑定数据库的数据表test

        using (SQLiteConnection con = new SQLiteConnection(DATA_SOURCE))
                {
                    con.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand())
                    {
                        cmd.Connection = con;
                        cmd.CommandText = string.Format("select * from test t ");
                        int rows = cmd.ExecuteNonQuery();
                        SQLiteDataAdapter sda = new SQLiteDataAdapter(cmd);
                        DataSet ds = new DataSet();
                        sda.Fill(ds);
                        DataTable dt = ds.Tables[0];
                        this.comboBox1.DataSource = dt;
                        // 删除委托
                        comboBox1.SelectedIndexChanged -= new EventHandler(comboBox1_SelectedIndexChanged);//这里是多余的
                        this.comboBox1.DisplayMember = "name";//下拉框要显示的数据库的字段
                        this.comboBox1.ValueMember = "id";  //显示的数据库的字段对应的那张表的id
                        this.comboBox1.SelectedIndex = -1;//首先comboBox1显示为空
                        // 增加委托
                        comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);//这里是多余的
    } }

    2、窗体Form2要赋值给窗体Form1的这个下拉框:

    让这个下拉框属性modifies为public,在Form2里把fhdw这个变量给Form1下拉框

    Form1 z = new Form1();
    
    z.comboBox1.Text = fhdw;

    Form2的赋值工作完成了,可以在Form1里看到,下拉框已经显示有值,但是只是有值,并没有处于选中状态,也就不能用其selectedValue

    3、赋值之后怎么让这个值处于选中状态:

    在Form1的comboBox1已绑定的诸多单位里,找这个传过来的Text值,

          string fhdw = "";
                int fhdw_index = this.comboBox1.FindString(comboBox1.Text);//找到之后返回0
                this.comboBox1.SelectedIndex = fhdw_index;  //SelectedIndex等于0,相当于选中了
                if (comboBox1.SelectedIndex == -1)  //验证一下有没有选中
                {
                    MessageBox.Show("请选择发货单位");
                    return;
                }
                fhdw = comboBox1.SelectedValue.ToString();//因为处于选中状态,可以用SelectedValue了
  • 相关阅读:
    HYSBZ 3813 奇数国
    HYSBZ 4419 发微博
    HYSBZ 1079 着色方案
    HYSBZ 3506 排序机械臂
    HYSBZ 3224 Tyvj 1728 普通平衡树
    Unity 3D,地形属性
    nginx 的naginx 种包含include关键字
    Redis 出现NOAUTH Authentication required解决方案
    mysql 8.0出现 Public Key Retrieval is not allowed
    修改jar包里的源码时候需要注意的问题
  • 原文地址:https://www.cnblogs.com/Donnnnnn/p/6056852.html
Copyright © 2011-2022 走看看