简单问题,在线等! 有2个dbgrid,分别连接着Access中的2个表,第一个表是系统名,第二个表是系列名,我希望点击系统名中的单元,能在另一个dbgrid中自动显示所包含的系列名,如何实现? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 指定系列名的MasterSource为系统名的Source,然后指定关联字段 指定系列名的对应的数据集的MasterSource为系统名的Source,然后指定关联字段 或者在系统名对应的数据集的AfterScroll事件里过滤系列名表 在DataSouse 中的onDataChange事件里写 sql 查询系统名与系列名中的关联字段的数据也可以 1,指定系列名的对应的数据集的MasterSource为系统名的Source,然后指定关联字段2,可以在每一个 DBGrid 的 onclick 事件里加入对另一个表数据集的过滤语句dataset2.Filted:=False;dataset2.Filter:='FieldName='+dataset1.FieldByName('ID').asstring;dataset2.filted:=True; 找不到系列名的对应的数据集的MasterSource,在哪? 我只用到datasource和adoquery加dbgrid,找不到mastersource 在第一个DBGrid对应的Dataset的AfterScroll事件中实现第二个DBGrid的DataSet刷新就可以了。第二个DBGrid的DataSet刷新可以采用Close、Open,也可以采用Filter的方式。 就是主从关系吧,设置系列名那个dbgrid的adoquery的DataSource为所连系统表的adoquery,在SQL中指定关联字段,打开两个数据集,delphi会自动绑定它们的对应关系。 我来说说啊,说起来好像比较复杂,但是其实很简单。一、窗体上放一个Ttable控件,Name属性为table1,设置好他的数据库相关参数(databasename,tablename两个属性)。二、窗体上放一个tdatasource控件,设置它的dataset属性为ttable1.三、窗体上再放一个Ttable控件,Name属性为table2只要设置它的Mastersource属性为datasource1,并且设置它的MasterFields(双击),添加相关联的字段。四、再放一个tdatasource控件,设置它的dataset属性为ttable2.五、放一dbgrid控件,设置datasource为datasource1六、再放一dbgrid控件,设置datasource为datasource2,七、把Table1控件的ACTIVE设置为TRUE. to zhwei_wen(GoldStone)可是我没有用到Ttable控件 为什么要把问题考虑得那么复杂呢?我觉得在dbgrid1的点击事件里根据系统名的条件对dbgrid的select进行过滤,不就得到这种效果了吗? 谢谢大家,问题基本解决了,我想再问一下,如果再加一个dbgrid3,让dbgrid1可控制dbgrid2和dbgrid3,dbgrid2控制dbgrid3,为什么我控制dbgrid1时,dbgrid2改变,dbgrid3不改变呢? 我也想是在dbgrid1中用点击事件来解决,但是怎么样才能解决其查询比较呢?试过几次但没什么效果望指导~~~ 指定系列名的对应的数据集的MasterSource为系统名的Source,然后指定关联字段,方便些 添加两个TableTable1系统Table2列表Table2.MasterSource:=DataSource1;点Table2的MasterFields属性设置主键关联 奇怪了,webbrowser 隐藏在 panel 里 不响应 DocumentComplete事件了 散分,和昨天理由一样 菜鸟提问~~ 散分!!注(只给抵制日货的朋友们!) 真的没有人会了吗??????????????? 如何让TDateTimePicker变平,也就是相当于TEdit的Ctl3D:=False 招聘Delphi程序员 有兴趣的请来看看 悬赏500大分辑凶 Delphi中SQL查询问题 东进语音卡编程:聊天室。解决问题另加280分!绝不食言!!在线等! 简单问题请教高手,如何从dll文件中加载一个编译进dll文件的工程
2,可以在每一个 DBGrid 的 onclick 事件里加入对另一个表数据集的过滤语句dataset2.Filted:=False;
dataset2.Filter:='FieldName='+dataset1.FieldByName('ID').asstring;
dataset2.filted:=True;
第二个DBGrid的DataSet刷新可以采用Close、Open,也可以采用Filter的方式。
一、窗体上放一个Ttable控件,Name属性为table1,设置好他的数据库相关参数(databasename,tablename两个属性)。
二、窗体上放一个tdatasource控件,设置它的dataset属性为ttable1.
三、窗体上再放一个Ttable控件,Name属性为table2只要设置它的Mastersource属性为datasource1,并且设置它的MasterFields(双击),添加相关联的字段。
四、再放一个tdatasource控件,设置它的dataset属性为ttable2.
五、放一dbgrid控件,设置datasource为datasource1
六、再放一dbgrid控件,设置datasource为datasource2,
七、把Table1控件的ACTIVE设置为TRUE.
可是我没有用到Ttable控件
我觉得在dbgrid1的点击事件里根据系统名的条件对dbgrid的select进行过滤,不就得到这种效果了吗?
Table1系统Table2列表
Table2.MasterSource:=DataSource1;
点Table2的MasterFields属性设置主键关联