关于DBGRID的问题,很简单,请指教! "但是点击DBGRID1时,可以找到DBGRID2中的记录"是什么意思? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 下面是我的表结构:CREATE TABLE JGZGJN_GZB ( ID NUMBER(10, 0) NOT NULL , BH VARCHAR2(4) NOT NULL, GZH VARCHAR2(6) NOT NULL, XM VARCHAR2(20) NOT NULL, XISHU NUMBER(8, 1),--系数 JISHU NUMBER(8, 1),--基数 JJE NUMBER(8, 1), --奖金额 jq_yx number(2,2), --优秀员工系数 jje_yx number(8,1),--优秀员工奖励金额 jq_bm number(2,2),--部门系数 jje_bm number(8,1),--部门奖励金额 KOU_xs NUMBER(2, 2),--扣项系数 kouxiang number(8,1),--按金额扣 HEJI NUMBER(8, 1), --合计 RIQI DATE, --日期 BMBH VARCHAR2(3) NOT NULL, --部门编号 BEIZHU VARCHAR2(200), --备注 TABLENAME VARCHAR2(15) NOT NULL, --帐套表名 jj_xm varchar2(30), --奖金项目 , sts_ff varchar2(1) --发放标志, STS_KS VARCHAR2(1), --是否当月扣税 SHUIJIN NUMBER(8, 2) ,--当月扣税税金 shuilv NUMBER(2, 2),--手工输入的税率 sts_hs varchar2(1),--是否含税sts_ss varchar2(1)--是否算税);和create table zhigong_zdb(id number(8,0),BH VARCHAR2(4) NOT NULL, GZH VARCHAR2(6) NOT NULL, shfenzh varchar2(8))这样的两个表,分别放到两个DBGRID中显示:点击DBGRID1时,指针指到DBGRID2中BH相同的记录,我通过LOCATE可以实现,但是就是不能使得它们在一行中,怎么回事啊 什么使的它们在一行中。是不是只在DBGRID2中只选出BH的记录。搞个QUERY查一下不就行了,很简单 不是,是这样的,就是说可以找到DBGRID2中的记录,但是不是同行显示:编号 姓名 编号 工资号0001 xm 0002 0002 0001 0001用LOCATE可以找到dbgrid1中0001可以找到DBGRID2中的0001 但是他们的显示不是在一行中,就象上面。还有如果记录少可以,如果到50多条记录的时候,就不行了,显示就是象上面这样的 dbgrid2.row:=dbgrid1.row 没有这个属性啊 dbgrid1和dbgrid2的数据是不是一样多? 试一试这样写:type TTemp = class(TDBGrid) end;procedure TForm1.DBGrid1CellClick(Column: TColumn);begin if not Query2.Active then Exit; Query2.Locate('bh', Query1bh.Value, []); TTemp(DBGrid2).TopRow := TTemp(DBGrid1).TopRow;end; 我跟你讲,按我看来你是不太可能实现的,你想想看,数据在数据集中如何定位的,你做的只相当于把两个表关联。而且locate也会影响数据集中的数据位置。我给你一点建议:1、取消dbgrib2用两个edit表示(主/重)。2、如果数据数量相同,两数据集按相同的方法排序,dbgrid1点击时给dbgrid2发一个消息,让他执行同样的事件。 lupeng66751,你好,如何发消息,我不是太会,能不能给举个例子,我现在快急死了 初始化 一个头痛2天的问题:scrollbox的滚动条控制--请高手老师前辈帮忙!! 一个超级超级超级的难题 如何在DBGrid中获得当前数据库的表单所指定行的信息 谢谢指导 各位GG帮帮我好吗,我毕业设计有点问题! delphi怎么没有自动格式化功能?? 我要将treeview中的四层内容写入四个数据库,但怎样知道当前的treeview.select是哪一层次的呢? 请教语句意思! 请问在dephi5+sql2000中,如何建一个临时表? 急!急!紧急征求一幅程序的背景图 请问如何利用database连接SQL数据库,是否还需要别的控件? 怎麽判断一个文件是否正在被系统或别的程序使用?
CREATE TABLE JGZGJN_GZB (
ID NUMBER(10, 0) NOT NULL ,
BH VARCHAR2(4) NOT NULL,
GZH VARCHAR2(6) NOT NULL,
XM VARCHAR2(20) NOT NULL,
XISHU NUMBER(8, 1),--系数
JISHU NUMBER(8, 1),--基数
JJE NUMBER(8, 1), --奖金额
jq_yx number(2,2), --优秀员工系数
jje_yx number(8,1),--优秀员工奖励金额
jq_bm number(2,2),--部门系数
jje_bm number(8,1),--部门奖励金额
KOU_xs NUMBER(2, 2),--扣项系数
kouxiang number(8,1),--按金额扣
HEJI NUMBER(8, 1), --合计
RIQI DATE, --日期
BMBH VARCHAR2(3) NOT NULL, --部门编号
BEIZHU VARCHAR2(200), --备注
TABLENAME VARCHAR2(15) NOT NULL, --帐套表名
jj_xm varchar2(30), --奖金项目 ,
sts_ff varchar2(1) --发放标志,
STS_KS VARCHAR2(1), --是否当月扣税
SHUIJIN NUMBER(8, 2) ,--当月扣税税金
shuilv NUMBER(2, 2),--手工输入的税率
sts_hs varchar2(1),--是否含税
sts_ss varchar2(1)--是否算税);
和
create table zhigong_zdb
(
id number(8,0),
BH VARCHAR2(4) NOT NULL,
GZH VARCHAR2(6) NOT NULL,
shfenzh varchar2(8)
)
这样的两个表,分别放到两个DBGRID中显示:点击DBGRID1时,指针指到DBGRID2中BH相同的记录,我通过LOCATE可以实现,但是就是不能使得它们在一行中,怎么回事啊
是不是只在DBGRID2中只选出BH的记录。搞个QUERY查一下不就行了,很简单
编号 姓名 编号 工资号
0001 xm 0002 0002
0001 0001
用LOCATE可以找到dbgrid1中0001可以找到DBGRID2中的0001 但是他们的显示不是在一行中,就象上面。还有如果记录少可以,如果到50多条记录的时候,就不行了,显示就是象上面这样的
type TTemp = class(TDBGrid) end;procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if not Query2.Active then
Exit; Query2.Locate('bh', Query1bh.Value, []);
TTemp(DBGrid2).TopRow := TTemp(DBGrid1).TopRow;
end;
给dbgrid2发一个消息,让他执行同样的事件。