各位论坛上的大虾:
小弟是用DBGRIDEH这个控件与数据集相连,既做输入,也做浏览,现在想实现一个这样的功能,当在第一行输入或者编辑数据的时候,马上在下面的一行会跳出一个空行,然后当跳转到第二行输入的时候,马上又在下面会跳出多一个空行,就是说,当在最后一行输入的时候,最下面,总有一个空行会自动跳出来,可以随时供用户进行输入操作,请问有没有办法能够实现呢?如果这个控件实现不了,能否用其它类似的控件来实现呢?前提是不要用STRINGGRID,因为小弟水平有限,所以尽量想用控件来做,减少代码的编写工作,请各位大虾赐教,谢谢!!!
小弟是用DBGRIDEH这个控件与数据集相连,既做输入,也做浏览,现在想实现一个这样的功能,当在第一行输入或者编辑数据的时候,马上在下面的一行会跳出一个空行,然后当跳转到第二行输入的时候,马上又在下面会跳出多一个空行,就是说,当在最后一行输入的时候,最下面,总有一个空行会自动跳出来,可以随时供用户进行输入操作,请问有没有办法能够实现呢?如果这个控件实现不了,能否用其它类似的控件来实现呢?前提是不要用STRINGGRID,因为小弟水平有限,所以尽量想用控件来做,减少代码的编写工作,请各位大虾赐教,谢谢!!!
解决方案 »
- 两进程间使用PostMessage发送字符串,接收出错询求帮助。
- delphi中定义过程(函数) 和 类的问题
- 高手请进 delphi+mapx变量释放问题?
- 查询1月到2月中的10点到12点之间的数据,100分
- Delphi中的自定义类可否设置共享的类属性
- 高手来看吧!
- 救命呀!很急的问题:paradox中通过记录号来查询记录的sql语句如何写?
- 我有一个报表.dll文件1M,请问如何减小一半,不压缩,有什么好方法?可否用写ini文件,急!!!!
- 关于SQL的问题
- 如何将将一个字符串写入一个文件流中???
- 如何用BDE 连接DB2数据库?请写一个步骤 ,完成读取DB2数据集 包括控件属性设置
- cxgrid中,如何取某行某列的值?我发现只要拖动一下列的位置,取值就不准确了!
那么你在OnCellChange里(不记得有没有这个事件了,应该有类似的)写上
ADOQuery.Insert;
那你每么输入的时候,下面就会多一个空行。然后行头是带一个*号!
在dbgrideh中,不論修改或新增,都必須保證最底下有一條空記錄。用clientdataset應可滿足你的要求。
1、dbgrideh與clientdataset連接;
2、在dbgrideh中控制clientdataset的行為;注意畫面上focus的控制;
var
vbk: TBook;
begin
//判斷最後一行,因為根據你的需求推斷,只有在編輯最后一行時,才需要再加一條空白記錄
if vCds.RecNo=ds1.RecordCount then
begin
vbk:= vCds.GetBook;
end
else
Exit;
vCds.Last;
//判斷是否空記錄,需要根據你的表結構了,以下只是例子
if vCds.Fields[0].AsString='' then
begin
vCds.Append;
vCds.Post;
end;
vCds.GotoBook(vbk);
end;需要在以下事件加代碼
procedure TForm1.FormCreate(Sender: TObject);
begin
//需要事先加一條空白記錄
//記得在提交時刪除空白記錄
ds1.Append;
ds1.Post;
AppendAnEmptyRecord(ds1);
end;procedure TForm1.dbgrd1ColEnter(Sender: TObject);
begin
AppendAnEmptyRecord(ds1)
end;