这是一个User表的操作界面 FactoryID、DeptID、RoleID是User表中的字段,分别保存是工厂表、部门表、角色表的主键ID dataGridView表中红色框中已经正常关联显示出对应的名称 为什么上面的红色框中的combobox却无法关联显示???? combobox的datasource、displaymember、valuemember都设置正常 请求高手协助!!!

解决方案 »

  1.   

    给一个思路:建一个包含你所需要的信息的视图,然后将 dataGridView 与该视图绑定
      

  2.   

    用combox 是可以的
    comboBox4.Items.Clear();            comboBox4.Enabled = true;
                string Afile = "provider=microsoft.jet.OLEDB.4.0;Data source=.\\dgmk.mdb";
                OleDbConnection AconnStr = new OleDbConnection(Afile);
                OleDbCommand scmd = new OleDbCommand("select top 200 * from cattle where 镇区='" + comboBox2.Text.Trim() + "'  order by 编号", AconnStr);
                OleDbDataReader odr = null;
                AconnStr.Open();
                odr = scmd.ExecuteReader();
                if (odr != null)
                {
                    while (odr.Read())
                    {
                        comboBox4.Items.Add(odr["网吧名称"].ToString());
                    }
                    odr.Close();
                }
                comboBox4.Text = "";
      

  3.   

    这个问题还是没有解决。csdn的高手都躲起来啦?!
    这个问题,如果把图中上面红色框中的combobox换成DevExpress中的LookupEdit的话,迎刃而解!!(如图)
    而需要做的仅仅是设置DataSource、Display Member、Value Member以及和主表关联的DataBindings中的EditValue为什么VS2005自带的Combobox就这么衰呢?拥有一样的属性,一样的设置,为什么就是不能关联????
      

  4.   

    采用Dev的LookupEdit控件,切换记录时能完美显示键值对应的内容combobox太孬了!!没有这样的功能,就别提供那几个属性设置呀!!!设置了又没用!!!!
      

  5.   

    我就一直用COMBOBOX关联的,没出现你说的问题!
    public class hc
            {
                public DataTable mm(string sql)
                {
                    DataTable dt = new DataTable();
                    string sqlconn = "data source=.;database=emgn_byang_sale;uid=sa;pwd=;";
                    SqlConnection ss = new SqlConnection(sqlconn);
                    ss.Open();
                    SqlDataAdapter sd = new SqlDataAdapter(sql, ss);
                    sd.Fill(dt);
                    ss.Close();
                    return dt;
                }
    }
    hc da=new hc();
                DataTable dt=da.mm("select * from T_Comm_CustItem where CT_Key='ClientMgn_ClientOrigin'");
                this.comboBox1.DataSource=dt;
                this.comboBox1.DisplayMember="CName";
                this.comboBox1.ValueMember="CT_ID";
      

  6.   

    先谢谢各位兄台!!5楼的tanxiaolin520、8楼的Guyschaos,先不说通过写代码能不能实现,即便能实现,这样的方法也很拙劣,除非重写自定义的ComboBox控件。11楼的virusplayer,下拉框方便啊!
    首先你显示的时候要把所有的工厂信息填充进下拉框,然后点击一条记录的时候就根据记录的工厂信息来显示就可以了——忒麻烦了,要写代码的!
    而且每个每个都要这么搞,一个系统得多少ComboBox啊!!!