有这么两个表
表一 
bookname
booktypeid表二
booktypeid
booktype我拉了个datagridview到窗体,数据源选为表一,但我想在datagrideview里显示字段booktype,要怎么实现呢?

解决方案 »

  1.   

    SqlDataAdapter DataAdapter1= new SqlDataAdapter("select a.bookname,a.booktypeid,b.booktype from 表1 a,表2 b where 表1.booktypeid=表2.booktypeid ", constr);
    DataSet ds = new ();
    DataAdapter1.Fill(ds, "新表名");
    foreach (DataRow row in ds.Tables["新表名"].Rows)
                {
                    dataGridView1.Rows.Add(row["bookname"].ToString().Trim(), row["booktypeid"].ToString().Trim(),["booktype "].ToString().Trim();}
      

  2.   

    顶,我也在为这个事情发愁,在datagridview中加了一个未绑定列,设置为combox类型, 列的数据源取表二,ValueMember 设为 booktypeid,displayMember 设为booktype,dataPropertyName 设为表一的 booktypeid,这样就关联了起来,但是会出现一些意想不到的事情,如果表一的booktypeid不在表二中会出问题,甚至还有别的更棘手的问题。不知道别人是怎么做的。
      

  3.   

    没有办法直接使用,有两种简单的方法,1,改用视图,2,在ITEM_DATABINDING事件去查询,然后绑定.