如题!例如:有2个表
表1:UserInfo--表名 UID-字段 UName-字段 URole-外键对应到UserRole的主键RID
     UserRole--表名 RID-字段 RName-名称
DataGridView绑定了数据表UserInfo 那么怎么绑定URole呢??

解决方案 »

  1.   

    一般是放个Comobox column,然后指定它的SelectedValue绑定到另一个表的ID字段.
      

  2.   

    这种方法不是挺自然的吗?你还可以设置DataGridView里的Comobox只有点击它时才出现下拉框。而且这样子还支持双向绑定
      

  3.   

    你用linq to sql,他里面的实体类都做了处理,你直接在做数据源的时候处理下就可以。给你贴出代码,参考下。
      

  4.   

    你说SQL查时就将两个表关联起来不就行了吗?
      

  5.   

    public void BindData()
        {
            NewsManagement nm = new NewsManagement();
            tb_news[] nList = nm.getNewsInfo();        var source = from n in nList
                         select new
                         {
                             NewsID = n.NewsID,
                             NewsDate = n.NewsDate,
                             NewsTitle = n.NewsTitle,
                             NewsCategoryName = n.tb_newscategory.NewsCategoryName
                         };        this._newsInfoGridView.DataSource = source;
            this._newsInfoGridView.DataBind();
        }
      

  6.   

    两种方式
    1.用实体类,绑定外键对象
     class UserInfo
        {
            string uid = "";        public string Uid
            {
                get { return uid; }
                set { uid = value; }
            }
            string uname = "";        public string Uname
            {
                get { return uname; }
                set { uname = value; }
            }
            URole role = new URole();        public URole Role
            {
                get { return role; }
                set { role = value; }
            }
        }
    查的时候把URole也查了填充进去
    绑定字段的时候<%#Eval("Role.RName")%> ,这样就可以实现绑定了。
    2. 先绑定UserInfo信息,URole先空着, 然后在RowDataBound事件里面再来绑定URole
      

  7.   

    额。 。。 。看错。 是DataGridView  。。
      

  8.   

    实在不行,  先用DataTable把数据都拼好了直接绑上去
      

  9.   

    union连接查询
    private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        if (e.ColumnIndex==2 && e.Value is int)
        {
            int i= (int)e.Value;
            e.Value = "";
        }
    }
      

  10.   

    MD ,怎么就没有一个类似 rowdatabind的事件呢