最后一滴血!我愿意付出!对面的高手看过来!(49分)

  • 主题发起人 主题发起人 绝色神偷
  • 开始时间 开始时间

绝色神偷

Unregistered / Unconfirmed
GUEST, unregistred user!
我用EHLIB1.54控件的DBGRIDEH(DBGRID增强控件,支持多表头,回车换行等功能)实现凭证
的制作,现想实现如下的效果:
1.每张凭证开始时显示5行空白记录,当录入记录超过5条时再开始自动增加.
2.对每条记录录入时,如果不满足条件,则不允许录入下一条记录.(如回车不执行
换行并提示相关信息, 鼠标点击其他行无效并提示相关信息<如“科目代码不能
为空”,“摘要不能为空”等>)
总之,类似速达,用友凭证录入的功能和效果。
希望得到的解决方案(其中一种即可):
1。实现上述功能,包括思路或源码;
2。提供EHLIB2。0版本,我想研究一下。
3。提供并购买第三方控件。
我真诚感谢您的不吝赐教!
E-MAIL:JINFENG105@163.COM
 
高手,您别光看不说话啊!交个朋友好不?
 
目的就是为了一个固定格式的信息录入?
还是其他?
 
财务凭证的录入在编程中主要实现其安全性和严谨性,其格式是固定的。
 
用advstringgrid即可
 
用stringgrid解决问题
 
用DBGRID类似的控件实现主从表连接比较方便,所以还请各位仁兄考虑一下前面
开始的方法。感谢!
难道这里没有搞过财务软件开发的吗?
 
>>1。实现上述功能,包括思路或源码;
如果可能的话,自己做一个控件,包你满意。
 
急切需要,没时间写控件了。快救我。
 
这位兄台,我在VB中用过一个Grid控件,写过财务软件,就用它作凭证显示和录入。
此Grid控件,美观,还可以。。。 不过,实现录入时是另加了一个TextBox的。

但在Delphi 就不能用了,这个控件据说是用VB写的。
 
用DBGRID控制应该可以,其实就是代码控制.别怕麻烦.第三方控件,在VB中用过PROTOVIEW DATATABLE
控件,不过,实现录入时是另加了一个TextBox的,Delphi中没用过.
 
现在急切解决的问题是:
当本条记录录入不完全时,如何控制光标停留在不完全的那一列呢?
急切期盼您的解答!
 
有没搞错?
如此:
if varisnull(DB.fieldbyname('xx').value)or
(varisempty(DB,fieldbyname('xx').value)) then begin
showmessage('record must be ');
DBgrid.SelectedIndex:=Findbname(dbgrid)//根据列名去找列的index
abort;


end
 
这好象是报表中体现出来的.
 
TO xianghb:
说错了,关键是停留在没有满足条件的那一行。我已在TABLE的BEFORESCROLL事件中
实现了。但还是不理想。
还有:
我开始已经添加了5行空白记录。为了始终显示象凭证一样的界面。(即使我只录入2条
记录也会总共显示5行<另3行为空白记录>),又不能保存空白记录,这时该如何处理呢。
多谢赐教!
 
to:绝色神偷:
1:光标停留在不满足条件的那行在BeforePost事件中更好一些!
2、你的要求可能需要用StringGrid来完成,但是要用StringGrid来实现DBGrid本来就要写很多代码,
最好还是改EHLIB的源码来实现。应该不是很难!
 
用ClientDataset,不要用Provider。在内存中写表,确认是满足条件的再添加到真正的表中
 
发分了算了,还是我修改EHLIB给实现了。其实问题很简单,只是想少写几行代码。
这个控件将被我加工的完全可以象速打一样的效果。有需要找我吧:)
 
我需要:
jswqg@sina.com
多谢。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部