100分询问一个搞了很久都没有搞定的问题 ,在线等待!
假设有一个table: Create table tb1(a varchar(10), b varchar(10))
其中的数据是:
one, aa
two, bb
three, CC
我使用ADODataset1打开这个table, 用DBGrid1显示这个table的数据。
当我使用鼠标点击"three, CC"那一行纪录的下面的DBGrid1的空白部分的时候
能够自动的执行ADODataSet1.Append代码。!
我看不少的单据录入操作的时候,当录入单身数据的时候,这个功能对用户来讲很方便,可是,我确一直不知道怎幺做,不知道哪位高手能给个思路,或者一个例子,非常感谢!
问题点数:100、回复次数:9Top
1 楼chenxuqian(aQ)回复于 2005-08-02 10:47:48 得分 0
顶Top
2 楼wzn0521(浩月星空)回复于 2005-08-02 10:49:42 得分 0
你用上下键移动的时候,移动到最后一条纪录后,再往后移动一下,DBGrid1就自动出来一行,你就可以添加数据了
Top
3 楼edgethinking(学习.net中...)回复于 2005-08-02 10:56:43 得分 0
非常感谢楼上的回复,我就是用你说的那种方法在做的, 但是我还想了解用鼠标点击空白来新增实现发个发,应为我看见有些系统中的单据就有那样的功能,比较方便。Top
4 楼smiler007(笑一笑)回复于 2005-08-02 10:58:33 得分 0
这本来就是DBGrid已封装的功能啊Top
5 楼edgethinking(学习.net中...)回复于 2005-08-02 11:09:21 得分 0
这本来就是DBGrid已封装的功能啊?
---------------
假设当前的焦点停在第一行,如果使用上下键的话, 可能需要往下移好几次才能到达最后一行,再往下移一次的时候才能自动新增一行。
可是我想要的效果是: 当焦点在第一行时,我用鼠标在DBGrid1底部的空白处点击一下,就可以自动执行ADODataSet1.Append;
不知道我讲得够不钩清楚。
Top
6 楼hqhhh(枫叶)回复于 2005-08-02 11:15:48 得分 0
先关注:
他们的实现方法可能是:
1.先一次性增加几条空记录,
2.增加修改完成之后,再把空记录删除,
我就碰到过这样的一个软件,源开发者(老板)也和我说过让我这样做,但我不暂成!Top
7 楼dinglinger(小呆之家)回复于 2005-08-02 11:18:53 得分 0
想和自己过不去吧?
:)
你到最后一行后再向下不就行了吗?你这样在下面点一下就加一行,不够安全。
呵~~,DBGRID想到的还是有道理的。呵~~
Top
8 楼hksl(zzj)回复于 2005-08-12 16:47:58 得分 0
if aqmaster.State in [dsinsert,dsedit] then
if (ActiveControl is TDBGridEh) Then
begin
if DBGridEh2.SelectedIndex<=DBGridEh2.FieldCount-1 Then
begin
CASE KEY OF
vk_return:key:=vk_tab;
end;
end
else
begin
AqDetail.appent;
dbgrideh2.SelectedIndex:=0;
end;
end;Top
9 楼QWERT520(痛苦并快乐着)回复于 2005-08-13 00:08:18 得分 0
这个功能很流行。先增加空行再填入数据。很方便的数据的输入Top




