给dbgrid这个东东post 一个 WM_SETFOCUS的消息
你试一下,看可以不
你试一下,看可以不
解决方案 »
- ### 小图片中画字的问题
- DELPHI中如何使用QuickReport控件将查询结果生成的报表
- 急!!!关于ERP的多层构架问题(高手,牛人,构架师,有经验的,愿交流者请进).
- ExpressQuantumGrid4.21(在线等待)
- 增加记录的问题---------在线等
- To SnakeGuo:感谢帮忙找到flowchart,这里是第三个300分!
- 请各位高手分析这段代码到底哪里出错?
- 哪里有做windows html格式帮助的工具呢?我想为我开发完的软件做个帮组文档。。。
- 号外号外.组建企业管理软件联盟.
- 怎样监视ACCESS数据库执行的每一条SQL语句(急!!!)
- 大家平时工作中都用什么工具???
- 为什么一点下载就链接到163个人主页呀?(第一次都可以的,第二次就不行了!)
按一个Button吗,如果是这样,那还不如直接Post一下。
adodataset.edit;
然后在dbgrid的单元格上改动某个字段的值,然后在没有失去这个单元格的前提下调用
adodsmain.Post;
adodsmain.UpdateBatch;
则该字段保存的还是未更改以前的值,
如果将光标TAB到下一个单元格然后再
adodsmain.Post;
adodsmain.UpdateBatch;
则改变才真正post进去,
最后保存的才是更改了的。(有dbedit等一样有这样的情况,难道各位没有遇到过吗?)
以前我是在保存前执行
adodamain.fieldbyname('dd').asstring:=dbedit1.text
将所有的输入字段再重写一遍才避免了这种现象。现在我直接在dbgrid上写,总不能要我把每个单元格的值取出来又重新赋一遍吧。。
各位高手,快快出刀!!!
如果要使f1自动post而且不失去焦点 ,可以这样:
ADOQueryf2.FocusControl;
ADOQueryf1.FocusControl;
ADOqueryCHZ: TWideStringField;
其中CHZ是你在dataset中加的字段名称,ADOqueryCHZ有FocusControl方法,可以试试看。
postmessage(PurchaseContractDefineForm.dbgMain.Handle,wm_keydown,vk_tab,0);
if (adodsmain.State=dsEdit) or (adodsmain.state=dsInsert) then
begin
adodsmain.FieldByName('operator').Value:=mainform.username;
adodsmain.FieldByName('operate_time').Value:=getdate;
adodsmain.Post;
end;
try
adodsmain.UpdateBatch;
except
adodsmain.CancelUpdates;
self.SpeedButton_undoClick(self);
end;
adodsmain.close;
adodsmain.open;
begin
DM.Query1.Prior;
DM.Query1.Edit;
DM.Query1.Post;
end;
这样不行吗??Query的记录位置移动在Post不就可以了?