上面是dbgrid,下面是dbedit等字段。(即上面是列表,下面是明细)
追加后,产生空记录,可是如果用户没有保存就在列表里移动光标,然后再点保存,由于一些数据没有录入完毕,可能会出错。请问大家是如何解决这个问题的?
我以前做的时候,追加或者修改,弹出一子窗口。但是在delphi里面好像子窗口无法使用父窗口的adoquery,datasource等。
追加后,产生空记录,可是如果用户没有保存就在列表里移动光标,然后再点保存,由于一些数据没有录入完毕,可能会出错。请问大家是如何解决这个问题的?
我以前做的时候,追加或者修改,弹出一子窗口。但是在delphi里面好像子窗口无法使用父窗口的adoquery,datasource等。
解决方案 »
- 用postmessage对某程序发消息,保存对话框的内容怎么办?
- 请教一个关于TList的问题~也不知道是什么问题,还请大家帮忙看看,小弟先感谢先
- 当焦点离开dbgrid时,如何显示当前被选记录?
- Delphi7调用Word:如何在插入表格之后再在表格之后插入其他文字——在线结贴
- DELPHI5的资源编辑器用起来很不爽,有没有好点的?
- mysql+ado+delphi 原本在库中查出来的负数在DBGrid 中却永远是正的,请帮帮忙!
- 关于inputbox的问题,很简单,送分!
- xe5自带的TJSONObject如何解析这种json
- Sqlserver2000在delphi下应如何配置连接
- 我要实践,免费帮做软件!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 日志钩子,检测到WM_KEYDOWN消息后,怎么获得按键的虚拟码(即VK_xxx对应的值)
- 哪里有Delphi组件下载?
在implementation下use父窗体单元呀!
####追加后,产生空记录,可是如果用户没有保存就在列表里移动光标,然后再点保存,由于一些数据没有录入完毕,可能会出错。请问大家是如何解决这个问题的?
晕!在TDataset的OnNewRecord方法中加判断。
还不如用文本输入的方法
或,在增加记录时把DBGRID.enable:=false;
在提交后再变回TRUE
如 adoDataSet.DisableControls;
adoDataSet.Edit;
......
adoDataSet.Post;
adoDataSet.EnableControls;
On TDataSet OnScroll Event:
if dsEdit,dsAppend In DataSet.State then
abort如果数据集在编辑或添加状态,则不允许 Scroll