问题描述
刚开始学习使用Dev的GridControl,关于嵌套GridView的问题弄的我实在是头大,希望各路高手能指教一下。1.首先在VS中创建数据源,数据源包括Test1和Test2两张表,在数据源设计器中添加关系,为Test1表的id字段与Test2表的parent_id字段建立“关系和外键约束”,关系名为“FK_Test1_Test2”,其他选项默认;2.在Form中添加gridControl1,mainView为gridView1,手动添加下一级View,命名为gridView2,LevelName为“FK_Test1_Test2”;3.设置gridControl1的DataSource为数据源中的Test1表,设计器自动生成test1BindingSource和test1TableAdapter,查看gridView1的Columns,已自动添加id和title字段,再查看gridView2的Columns,已自动添加id、title和parent_id字段;接下来,我运行程序测试,gridControl只显示出了父表的内容,id这一列有加号图标,但是是灰色的,无法展开,所以子表的内容看不到,gridControl和gridView的属性都是默认的,应该不是设置问题,想请问一下大家这是什么原因造成的?谢谢!
解决方案
解决方案二:
请帖你的绑定代码,在帖上你的gridcontrol控件的设计截图
解决方案三:
多谢回复!gridControl1的设置,数据绑定是通过设计器设置的,如下:gridView1的设置:gridView2的设置:gridView1的Columns:gridView2的Columns:Test1与Test2的表关系设置:
解决方案四:
我是用代码实现的,就直接拖一个GridControl道街面上,然后加入代码就好了DataSetdept=organDAO.GetDepts();DataTableuser=userDAO.GetUses().Tables[0];DataTabledtUserClone=user.Clone();dtUserClone.TableName="dtUserClone";for(inti=0;i<user.Rows.Count;i++){dtUserClone.Rows.Add(user.Rows[i].ItemArray);}dept.Tables.Add(dtUserClone);dept.Relations.Add("部门员工信息",dept.Tables[0].Columns["OrganizeID"],dept.Tables[1].Columns["OrganizeID"]);gridControl1.DataSource=dept.Tables[0];
解决方案五:
DEV对初学者来说确实繁琐的很,习惯到特别好。用代码是可以解决,正对楼主提出的问题,原因是字表里面没有填充数据。也就是说你的Test2里面没有填充数据,注意这里的Test2指的类型是Test2DataTable,是自动生成的,在xxx_DataSet里面.
解决方案六:
请问你用这种方式显示的话,gridControl中是有1个gridView还是2个gridView呢?
解决方案七:
引用4楼QQ81867376的回复:
DEV对初学者来说确实繁琐的很,习惯到特别好。用代码是可以解决,正对楼主提出的问题,原因是字表里面没有填充数据。也就是说你的Test2里面没有填充数据,注意这里的Test2指的类型是Test2DataTable,是自动生成的,在xxx_DataSet里面.
请问你现在解决了这个问题吗?
解决方案八:
楼主请问你现在解决这个问题了吗?
解决方案九:
引用4楼QQ81867376的回复:
DEV对初学者来说确实繁琐的很,习惯到特别好。用代码是可以解决,正对楼主提出的问题,原因是字表里面没有填充数据。也就是说你的Test2里面没有填充数据,注意这里的Test2指的类型是Test2DataTable,是自动生成的,在xxx_DataSet里面.
+1