请问在dbgrid中双击任意一条记录,怎么打开新窗口! (100分)

  • 主题发起人 主题发起人 winsock
  • 开始时间 开始时间
W

winsock

Unregistered / Unconfirmed
GUEST, unregistred user!
第一个问题:例如我在一个职工查询中的dbgrid中,双击任意一条记录,,怎么打开一个新的窗口,
而且窗口中的记录还是那刚才双击的那条记录!

第二个问题:请问怎么让按钮按下去图片变彩色,不按则表灰色呢?就好象IE的工具栏那个样子!
一张图片可以完成这样的效果吗?不用time该怎么做呀!

第三个问题:怎么按一个按钮后,在弹出个菜单的呢?意思和IE的工具栏上面的邮件那样。
不过我的按钮是放在窗体的任意位置的。不是放在工具栏的,
所以不能用到那个style属性的tbsDropDown。该怎么做才好呢?

第四个问题:我在dbedit中显示记录编号,当增加新记录的时候,让dbedit1自动在显示新的编号,
例如,我以前数据库最后的记录为10,那么点击增加后,怎么在dbedit1中显示11呢?
因为当数据库量太大的时候,操作者不能老是记得以前最后一条记录的编号。谢谢!

第五个,这个是今天才碰到的:在dbgrid的单元格里面,输入价格,数量,在合计自动显示金额多少!
就是如:价格,数量,合计金额
300 2 600
当输入300,2时候,焦点下移,自动显示600金额出来。
这个该怎么做呀!谢谢拉!

第一个问题和第四个我解决了,谢谢!
 
第一个:在dbgrid的dbclick事件中写代码,先得到表格当前记录,再在所显示窗体中相应操作。

第二

第三:有第三方控件,自己找吧
 
第二,试试onmouseover的时候换图片
 
大家帮我把第一个问题和第四个问题先给解决了吧!!!!那两个比较急点。
最好说得详细点!谢谢拉~~~~~
 
第四个,在dbgrid里面新建一列,然后再里面显示纪录号,可以在afertinsert里面写相应代码
当然,如果你不怕数据库太大的话,干脆在数据库里面做一个自增的字段不就行了
 
第一个
在DBGrid1的双击事件中
Form2.Edit1.Text:= DBGrid1.DataSource.DataSet.FieldByName('').AsString;

Form2.Show
 
Select Max(ID) From 表1
得到当前最大值再加1就可以了
 
1.在DBGrid的DblClick中写代码
V_ID:=Form1.query1ID.VALUE;//假设ID是索引字段

form2.query1.Locate('ID',V_ID,[loPartialKey]);
form2.show;
 
谢谢了各位,第二个问题和第三个该如何解决呢?还有我今天加了第5个问题,也帮我看看!
在dbgrid的单元格里面,输入价格,数量,在合计自动显示金额多少!

就是如:价格,数量,合计金额
300 2 600
当输入300,2时候,焦点下移,自动显示600金额出来。

这个该怎么做呀!谢谢拉!
 
1 dbgrid的ondblclick中加入代码:younewform.showmodal
2 speedbutton和toolbar都能实现,不过需要两张图片,只用一张图片是做不到的
3 toolbar中的toolbutton有这种类型的button,但是你的情况应该使用popupmenu
4 要知道表的记录数或某字段的最大值还不容易
.recordcount属性保存着记录数
select max(字段名) from tablename 就可以得到某字段的最大值
 
呵呵,我来回答你的第5个问题:
1、建立一个自动计算字段,(如果你不会建--双击关联DBGRID的TABLE,出现一框,右点此框
然后new fields,剩下的自己去设置),假设此字段名为“合计”
2、在字段价格、数量的onchange事件写上
fieldbyname('合计').Ascurrency := fieldbyname('价格').ascurrency*
fieldbyname('数量').ascurrency;
3、在DBGRID里新建一Columns,然后关联此Columns到字段“合计“
4、OK
 
多人接受答案了。
 

Similar threads

回复
0
查看
804
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部