首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

GridControl怎么建立主从表

2012-02-02 
GridControl如何建立主从表?我有多个主从表,主表为用户表,从表为用户的外语水平表,家庭成员,工作经验表等

GridControl如何建立主从表?
我有多个主从表,主表为用户表,从表为用户的外语水平表,家庭成员,工作经验表等等。
我是这样建立的:

                        try
                        {
                                data   =   new   DataSet();

                                sdaUsers   =   new   SqlDataAdapter( "Select   *   from   Base_Users ",   db.conn);
                                sdaUsers.Fill(data,   "Users ");
                                bsMaster   =   new   BindingSource();

                                sdaExperiences   =   new   SqlDataAdapter( "Select   *   from   Base_Experiences ",   db.conn);
                                sdaExperiences.Fill(data,   "Experiences ");
                                bsExperiences   =   new   BindingSource();

                                sdaFamilyMembers   =   new   SqlDataAdapter( "Select   *   from   Base_FamilyMembers ",   db.conn);
                                sdaFamilyMembers.Fill(data,   "FamilyMembers ");
                                bsFamilyMembers   =   new   BindingSource();

                                sdaWorkExperiences   =   new   SqlDataAdapter( "Select   *   from   Base_WorkExperiences ",   db.conn);
                                sdaWorkExperiences.Fill(data,   "WorkExperiences ");
                                bsWorkExperiences   =   new   BindingSource();

                                sdaUserLanguages   =   new   SqlDataAdapter( "Select   *   from   Base_UserLanguages ",   db.conn);
                                sdaUserLanguages.Fill(data,   "UserLanguages ");
                                bsUserLanguages   =   new   BindingSource();

                                sdaContracts   =   new   SqlDataAdapter( "Select   *   from   Base_Contracts ",   db.conn);


                                sdaContracts.Fill(data,   "Contracts ");
                                bsContracts   =   new   BindingSource();


                                //添加约束
                                DataRelation   drExperiences   =   new   DataRelation( "教育经历 ",   data.Tables[ "Users "].Columns[ "Userid "],data.Tables[ "Experiences "].Columns[ "Userid "]);
                                data.Relations.Add(drExperiences);
                                DataRelation   drFamilyMembers   =   new   DataRelation( "家庭成员 ",   data.Tables[ "Users "].Columns[ "Userid "],   data.Tables[ "FamilyMembers "].Columns[ "Userid "]);
                                data.Relations.Add(drFamilyMembers);
                                DataRelation   drWorkExperiences   =   new   DataRelation( "工作经历 ",   data.Tables[ "Users "].Columns[ "Userid "],   data.Tables[ "WorkExperiences "].Columns[ "Userid "]);
                                data.Relations.Add(drWorkExperiences);
                                DataRelation   drUserLanguages   =   new   DataRelation( "外语水平 ",   data.Tables[ "Users "].Columns[ "Userid "],   data.Tables[ "UserLanguages "].Columns[ "Userid "]);
                                data.Relations.Add(drUserLanguages);
                                DataRelation   drContracts   =   new   DataRelation( "合同资料 ",   data.Tables[ "Users "].Columns[ "Userid "],   data.Tables[ "Contracts "].Columns[ "Userid "]);
                                data.Relations.Add(drContracts);

                                gcUser.DataSource   =   bsMaster;
                                //gvExperiences.DataSource   =   bsExperiences;
                                //gvFamilyMember.DataSource   =   bsFamilyMembers;
                                //gvWorkExperiences.DataSource   =   bsWorkExperiences;
                                //gvUserLanguages.DataSource   =   bsUserLanguages;


                                //gvContracts.DataSource   =   bsContracts;

                                bsMaster.DataSource   =   data;
                                bsMaster.DataMember   =   "Users ";
                                bsExperiences.DataSource   =   bsMaster;
                                bsExperiences.DataMember   =   "教育经历 ";
                                bsFamilyMembers.DataSource   =   bsMaster;
                                bsFamilyMembers.DataMember   =   "家庭成员 ";
                                bsWorkExperiences.DataSource   =   bsMaster;
                                bsWorkExperiences.DataMember   =   "工作经历 ";
                                bsUserLanguages.DataSource   =   bsMaster;
                                bsUserLanguages.DataMember   =   "外语水平 ";
                                bsContracts.DataSource   =   bsMaster;
                                bsContracts.DataMember   =   "合同资料 ";
                           

                                //------------------------------中文化外键字段
                                sda   =   new   SqlDataAdapter( "select   deptid,deptname,state   from   base_depts;select   ygXingshiid,YgXingShiName, "   +
                                        "reMark,state   from   base_Ygxingshis;select   gradeid,gradename,state   from   base_userGrades;select   kindid, "   +
                                        "kindname,state   from   base_userKinds;select   positionid,positionName,state   from   base_userPositions ",   db.conn);
                                dsAll   =   new   DataSet();
                                sda.Fill(dsAll,   "dsAllTable ");


                        }
                        finally
                        {
                                db.close();
                        }
                }

他能生成一个主从表,但是我怎么也取不出从表对象。麻烦哪位高人帮帮忙。
对GridControl突然觉不熟悉了,弄了三天也弄不出来。

[解决办法]
自已动手,解决问题。
其实我建立的主从表关系是对的;关于取出子视图的部分的代码是这样的:
MainView.BeginUpdate();
MainView.FocusedRowHandle = 0;
MainView.SetMasterRowExpanded(MainView.FocusedRowHandle, true);
GridView gv = MainView.GetVisibleDetailView(MainView.FocusedRowHandle) as GridView;
if(gv != null) gv.SetMasterRowExpanded(0, true);
MainView.SetMasterRowExpandedEx(1, 1, true);
MainView.EndUpdate();

热点排行