比如有一个库存表中有一个产品编号字段,而产品的中文名称是存储在产品表中.用combox可以绑定产品表中的产品编号和中文名称.问题是我在编辑库存表中能不能将combox绑定到库存表的产品编号字段,在选择时却只显示产品表中的中文名称!不知道各位有没有这样的问题?是不是我很傻呢,晕了

解决方案 »

  1.   

    可以啊,在生成数据源的sql中将两个关联一下就可以了
      

  2.   

    [C#] 
     
         DataTable list = new DataTable(); 
     
         list.Columns.Add(new DataColumn("Display", typeof(string))); 
     
         list.Columns.Add(new DataColumn("Id", typeof(int))); 
     
         list.Rows.Add(list.NewRow()); 
     
         list.Rows.Add(list.NewRow()); 
     
         list.Rows.Add(list.NewRow()); 
     
         list.Rows[0][0] = "one"; 
     
         list.Rows[0][1] = 1; 
     
         list.Rows[1][0] = "two"; 
     
         list.Rows[1][1] = 2; 
     
         list.Rows[2][0] = "three"; 
     
         list.Rows[2][1] = 3; 
     
         comboBox1.DataSource = list; 
     
         comboBox1.DisplayMember = "Display"; 
     
         comboBox1.ValueMember = "Id"; 
      
    [VB.NET] 
     
         Dim list As New DataTable() 
     
         list.Columns.Add(New DataColumn("Display", GetType(String))) 
     
         list.Columns.Add(New DataColumn("Id", GetType(Integer))) 
     
         list.Rows.Add(list.NewRow()) 
     
         list.Rows.Add(list.NewRow()) 
     
         list.Rows.Add(list.NewRow()) 
     
         list.Rows(0)(0) = "one" ' 
     
         list.Rows(0)(1) = 1 ' 
     
         list.Rows(1)(0) = "two" ' 
     
         list.Rows(1)(1) = 2 ' 
     
         list.Rows(2)(0) = "three" ' 
     
         list.Rows(2)(1) = 3 ' 
     
         comboBox1.DataSource = list 
     
         comboBox1.DisplayMember = "Display" 
     
         comboBox1.ValueMember = "Id" 
     
      

  3.   

    看了好几遍,终于懂你的意思了.其实这个问题很简单.先用sql语句查出产品的名字,然后绑定ds上,然后再把选出来的条目.
    例如:
    select product.name from product where ID=( select ID from 库存表 wehere ID='3')
    dataset ds=new dataset();
    da.fill(ds,"tb1")
    然后绑定combobox就可以了塞
      

  4.   

    用产品ID将产品表和库存表关联起来,建立一个视图,其中包括库存表所有字段和产品表的产品名称字段。然后将ComboBox与该视图绑定,其它所有的绑定和对数据库的操作也是如此!!