300分!!!不够再加!有本事的兄弟来拿!dbgrid在没有数据的时候如何也显示多行!(但是能编辑)帮顶者有分! (300分)

  • 主题发起人 主题发起人 netlangz
  • 开始时间 开始时间
N

netlangz

Unregistered / Unconfirmed
GUEST, unregistred user!
要求:
1 用dbgrideh控件如何实现?请给出代码!
2 有控件的兄弟请给出下载地址,最好带源代码而且免费的控件
3 请兄弟们拿出真本事来,分不够可以再加,本人600多分可以全部奉送,只要解决问题!
4 希望兄弟们多捧场!谢谢!帮顶者有分!
我想实现,如果有记录的情况,比如表中有3条记录,dbgrid中其他空地方要画满表格的格式,而且我点增加的时候增加一行,空格式的地方不可以编辑,但是如果插入的时候如果上面一条已经编辑完了,然后移动方向键向下的话,后者鼠标点击空行,则可以进行编辑,不知道你看过胜天的进销存没有?还有速达3000,就是那样的功能
 
很简单啊,插入几个空记录啊.或是用Stringgrid
 
to lgxyy:
插入空记录如何实现??用union吗?请说详细点
如果用stringgrid的话,我就不会提出问题而且给300分了!
 
对了,如果插入空记录,你post如何处理?
 
dbgrid数据源对应的query使用batch模式,循环append,字段都允许null或者都定义了初始值的话就直接post,否则赋初始值再post。
最后存盘的时候判断只保留关键字段值不为空的记录。
dbgridEh一样。
 
可是使用批处理很麻烦啊,能不能给出别的办法,比如画dbgrid的行?
 
最土的方法,dbgrid上面覆盖一个stringgrid,必要的时候两者互相切换visible
 
procedure TForm1.Button3Click(Sender: TObject);
var
i:integer;
begin
i:=1;
LockType:=ltBatchOptimistic;
With ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from shouju where 1=2');
open;
while i<10 do
begin
append;
i:=i+1;
post;
end;
end;
LockType:=ltOptimistic;
end;
 
不太明白楼主想做什么
 
方法一;
估计用STRINGGRID会比DBGRID更适合

方法二:
需要多少条记录,就在后台增加多少条记录,每条记录只填写了关键字段,然后在DBGrid中不显示关键字段,那么用户看起来就象是空的一样
 
追加空记录就行了,然后保存的时候不保存这些空行。。
用stringgrid自己往里面写数据也是可以实现的,但没dbgrid/dbgrideh这么方便
 
to dez_0609: 你这种方法再具体使用的时候不是很方便。
RJU:第一种方法太麻烦了 第二种对于数据的查询,凡是设计到的地方都要过滤,也很麻烦的!
各位兄弟,我还是想不通过空记录来执行,请问有没有好的解决办法?
 
是阿,为何不用容易实现的控件呢
 
可以考虑在窗体创建时就载入这段代码
 
有兄弟看过胜天进销存吗?我不知道是不是用delphi开发的,但是他就能实现这样的功能,比如数据库只有一条记录,则它带出一条记录来,其他的地方都画满了表格!请问这是怎么作出来的!
 
var
i:integer;
begin
i:=1;
ADOQuery1.LockType:=ltBatchOptimistic;
With ADOQuery1 do
begin
Close;
sql.Clear;
sql.Add('select * from shouju where 1=1');
open;
while i<10 do
begin
append;
i:=i+1;
post;
end;
Edit;
end;
end;
 
to 楼上:
如果我在query的newrocord事件中写了代码?如何实现?难道每次都要触发事件吗?
我真正提交到数据库的时候记录我如何提交?
还有我如果用了批量更新的话,last error的bug如何解决(我用d5)
 
设置一个属性就可以了。
footerrowcount:=20;
 
具体我没有试过,批量提交可用 ADOQuery1.UpdateBatch(arAll);取消:ADOQuery1.CancelBatch(arAll);
 
后退
顶部