我设置了combox的datasource=dt
dt的第一列是 id
dt的第二列是 name
如果一般情况下,下面这句话会起到作用定位 combox 里的某一行:
combox1.selectVaule = 7;问题是我想给combox的第一行加个空行,于是取得
dt的sql改为 SELECT 0 AS id, '' AS name UNION SELECT id, name FROM A 
但这样改了后上面那句话就不起作用了,这是为什么呢?谁能告诉我。

解决方案 »

  1.   

    我这里测试没问题,这样指定了ValueMember没有this.comboBox1.DataSource = dt;
    this.comboBox1.DisplayMember = "name";
    this.comboBox1.ValueMember = "id";
      

  2.   

    第一个查询少写from,下面这样写可以实现
    SELECT 0 AS id, '' AS name FROM A UNION SELECT id, name FROM A
      

  3.   

    集合查询是合并多个select语句,所以要保证每个select语句的完整
      

  4.   

    to:lxcnn(过客) 
    这样指定了的。
    to:tommyhao() 
    加from和不加from是一样的。
      

  5.   

    to:lxcnn(过客)
    你这样试能通过?
      

  6.   

    我这里测试通过的,你确定只是改动了这行代码后不好用了,而之前是好用的吗要不这样试下,在取出数据后,手动给dt添加一行
    DataRow dr = dt.NewRow();
    dr["id"] = "0";
    dr["name"] = "";
    dt.Rows.InsertAt(dr, 0);
    然后再
    this.comboBox1.DataSource = dt;
    this.comboBox1.DisplayMember = "name";
    this.comboBox1.ValueMember = "id";
      

  7.   

    sorry,是我自己的函数的执行先后顺序造成的问题。跟这个没关系。
    谢谢帮忙。。