其他窗体赋值给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了
时间: 2024-10-19 04:08:13

其他窗体赋值给comboBox,并使赋的值处于选中状态(根据text获取selectedindex)的相关文章

Extjs Combo赋默认值

1.错的例子 sexCombo.on("afterrender", function() {     sexCombo.setValue(sexStore.getAt(0).data.code); }); 我不知道在某些情况下是否可以,但是我的combo的store是这样赋值的 /// <summary> /// 查看范围的下拉框列表 /// </summary> /// <returns></returns> public JsonRe

保存ActionForm中未编辑的字段为NULL,尤其整数不赋0值

Struts中,如果ActionForm里某些字段没有编辑(即没有输入值),提交后直接保存到数据库时,这些字段保存为""(String)或0(int),可是在实际开发中,可能需要将其保存位null,如何实现呢? 最直观的办法:判断字段是否为空,如果为空,则返回null 最简单的办法:修改ActionServlet配置下init-param,具体如下 ActionServlet配置下init-param: 1 <init-param> 2 <param-name>

static 和 final 关键字 对实例变量赋初始值的影响

static 和 final 关键字 对实例变量赋初始值的影响 最近一直在看<深入理解Java虚拟机>,在看完了对象内存分配.Class文件格式之后,想深扒一下实例变量是如何被赋上初始值的这个问题的细节. 在2.3.1小节中讲对象创建的时候,讲到内存分配有两种方式:一种是指针碰撞:另一种是空闲列表. 而选择哪种分配方式是由JAVA堆是否规整决定,而JAVA堆是否规整则由虚拟机所采用的垃圾收集器是否带压缩整理功能决定. 我们不管内存分配采用何种方式,当内存分配完成后,虚拟机将分配到的内存空间都初

Vue中用props给data赋初始值遇到的问题解决

Vue中用props给data赋初始值遇到的问题解决 更新时间:2018年11月27日 10:09:14   作者:yuyongyu    我要评论 这篇文章主要介绍了Vue中用props给data赋初始值遇到的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 前言 前段时间做一个运营活动的项目,上线后产品反馈页面埋点不对,在排查过程中发现,问题竟然是由于Vue中的data初始值导致,而data的初始值来自于props.为方便描述,现将问题抽象如下: 一.现象

用DataReader在comboBox中显示name,取值id:

定义ItemObject类 classItemObject { public int id; public string name; publicItemObject(int id,string name) { this.id=id; this.name =name; } public override string ToString() { return name; } } 1.实例化对象,加载数据 ItemObject[] io = new ItemObject[3];          

(二)用控制器controller给模型数据赋初始值

之前博客,非常easy的就实现了模型数据和页面显示的自己主动绑定.如今我们使用控制器,给模型赋初始值. 假设使用jquery来实现变量赋初值,须要在页面载入完毕后运行$("#target").attr("value",selfValue);使用AngularJS代码例如以下: <!doctype html> <html lang="en" ng-app> <head> <meta charset=&quo

”高精度整数删去若干位以使剩下的值最小“问题

问题描述: 键盘输入一个高精度的正整数N(不超过240位) ,去掉其中任意M个数字后剩下的数字按原左右次序将组成一个新的正整数. 编程对给定的N和M,寻找一种方案使得剩下的数字组成的新数最小.输出组成的新的正整数. 输入数据均不需判错. 如果去掉了某几个位后得到的新整数开头为0,保留0. 输入: 本题有多组测试数据,每组测试数据占一行. 一个高精度正整数N(N不超过240位)一个正整数M.(M为不大于N的长度的正整数) N,M由一个空格分开. 456547 1 456547 2 456547 3

随机为一维数组赋值,找出其中的第二大值

int a[20] = {0}; 为数组中的元素赋值 for (int i = 0;  i < 20; i++) { a[i] = arc4random() % (50 - 10 + 1) + 10; printf("%d", a[i]); printf("\n"); } int max = a[0], sex = a[0]; max最大  sex第二大 for (int i = 0; i < 20; i++) { if (max < a[i])

讨论:C#Calendar赋初始值

Q: 我在Page_Load的时候给Calendar赋初始值,但是Page显示之后,Calendar显示是当天(比如今天显示7月12号).我想让它默认显示出我给赋的时间(8/30/2006).我该怎么去设置呢? A: Calendar1.SelectedDate   =   new   DateTime(DateTime.Now. Year,   DateTime.Now.Month,   1);   //将1改成你要设置的天 A: 我的意思是这样:       比如我给它初始化一个10/3/2