新建
上传
首页
助手
最?/div>
资料?/div>
工具

GRID

的使用技?/p>

 

1.

如何?/p>

GRID

里控制回车事?/p>

 

 

 

?/p>

VFP

里,

GRID

的默认控件都?/p>

TEXTBOX

?/p>

形成了一个表格,

但是在这个二维表里进?/p>

操作时,每次按回车都是往后一个单元格跳转,当到最后一列时?/p>

则继续跳到第一列,

进?/p>

循环,操作很不方便?/p>

 

 

 

 

 

下面说明如何?/p>

GRID

里的一个列里按回车使记录连续往下跳?/p>

(或可以执行其他的操

作)

,当跳转到最后一行时执行另一个操作?/p>

 

1、对

GRID

所在的表单新增属性:

 

cur_recn 

记录当前记录?/p>

 

cur_recc 

记录最大记录号

 

2

、在表单初始化,或给

GRID

以数据源时,就先计算出该表的最大的记录数,如下?/p>

 

thisform.cur_recc=recc() 

为了一次得到当?/p>

GRID

里的表的记录总数

 

3

、在

GRID

?/p>

AfterRowColChange

事件里写?/p>

 

thisform.cur_recn=recn() 

为了得到当前?/p>

GRID

里的表的记录?/p>

 

4

、在

GRID

里的某列?/p>

TEXT1

?/p>

KEYPRESS

事件里:

 

if nKeyCode = 13

 

&&

 

当按键为回车?/p>

 

 

if thisform.cur_recn>=thisform.cur_recc

 

 

 

**--

 

当当前记录大于等于最大记录时,即记录已到最后一个时

 

 

 

thisform.command1.setfocus

 

 

 

**--

 

使表单上的一个命令按纽聚焦,也即可以跳出?/p>

GRID

?/p>

 

 

**--

 

而正常的操作很难?/p>

GRID

里跳出,在这里就可以使在记录到最后时焦点跳出?/p>

 

 

else 

 

 

 

thisform.cur_recn=recn()

 

&& 

当记录还没到尾时,则

... 

 

 

nodefault && 

不做任何响应

 

 

 

keyboard "{dnarrow}" && 

模拟键盘下箭头,使记录指针下移一?/p>

 

 

endif 

endif 

以上所说的?/p>

只要按键盘上的上下箭头即可轻易做到在

GRID

中移动指针,

没有太大的意义?/p>

 

2.

如何实现输完数据后按回车键,使表格中的焦点自动跳到下一?/p>

 

在你要判断转换的

GRID

?/p>

最后一列的

TEXT1

?/p>

keypress: 

IF  nKeyCode=13    

         SELECT  

你绑定表?/p>

 

         nRec=RECNO()   

         SKIP 

 

         IF EOF() 

 

            APPEND BLANK  &&

在表尾加一空记?/p>

 

            SKIP 

 

&&

记录指针?/p>

EOF() 

            Thisform.grid1.refresh 

            Thisform.grid1.column1.text1.SetFocus &&

到最前面

 

         ELSE 

 

             GO nRec  &&

同一行,不要此就跳下一?/p>

 

Ͼλ
新建
上传
首页
助手
最?/div>
资料?/div>
工具

GRID

的使用技?/p>

 

1.

如何?/p>

GRID

里控制回车事?/p>

 

 

 

?/p>

VFP

里,

GRID

的默认控件都?/p>

TEXTBOX

?/p>

形成了一个表格,

但是在这个二维表里进?/p>

操作时,每次按回车都是往后一个单元格跳转,当到最后一列时?/p>

则继续跳到第一列,

进?/p>

循环,操作很不方便?/p>

 

 

 

 

 

下面说明如何?/p>

GRID

里的一个列里按回车使记录连续往下跳?/p>

(或可以执行其他的操

作)

,当跳转到最后一行时执行另一个操作?/p>

 

1、对

GRID

所在的表单新增属性:

 

cur_recn 

记录当前记录?/p>

 

cur_recc 

记录最大记录号

 

2

、在表单初始化,或给

GRID

以数据源时,就先计算出该表的最大的记录数,如下?/p>

 

thisform.cur_recc=recc() 

为了一次得到当?/p>

GRID

里的表的记录总数

 

3

、在

GRID

?/p>

AfterRowColChange

事件里写?/p>

 

thisform.cur_recn=recn() 

为了得到当前?/p>

GRID

里的表的记录?/p>

 

4

、在

GRID

里的某列?/p>

TEXT1

?/p>

KEYPRESS

事件里:

 

if nKeyCode = 13

 

&&

 

当按键为回车?/p>

 

 

if thisform.cur_recn>=thisform.cur_recc

 

 

 

**--

 

当当前记录大于等于最大记录时,即记录已到最后一个时

 

 

 

thisform.command1.setfocus

 

 

 

**--

 

使表单上的一个命令按纽聚焦,也即可以跳出?/p>

GRID

?/p>

 

 

**--

 

而正常的操作很难?/p>

GRID

里跳出,在这里就可以使在记录到最后时焦点跳出?/p>

 

 

else 

 

 

 

thisform.cur_recn=recn()

 

&& 

当记录还没到尾时,则

... 

 

 

nodefault && 

不做任何响应

 

 

 

keyboard "{dnarrow}" && 

模拟键盘下箭头,使记录指针下移一?/p>

 

 

endif 

endif 

以上所说的?/p>

只要按键盘上的上下箭头即可轻易做到在

GRID

中移动指针,

没有太大的意义?/p>

 

2.

如何实现输完数据后按回车键,使表格中的焦点自动跳到下一?/p>

 

在你要判断转换的

GRID

?/p>

最后一列的

TEXT1

?/p>

keypress: 

IF  nKeyCode=13    

         SELECT  

你绑定表?/p>

 

         nRec=RECNO()   

         SKIP 

 

         IF EOF() 

 

            APPEND BLANK  &&

在表尾加一空记?/p>

 

            SKIP 

 

&&

记录指针?/p>

EOF() 

            Thisform.grid1.refresh 

            Thisform.grid1.column1.text1.SetFocus &&

到最前面

 

         ELSE 

 

             GO nRec  &&

同一行,不要此就跳下一?/p>

 

">
新建
上传
首页
助手
最?/div>
资料?/div>
工具

GRID

的使用技?/p>

 

1.

如何?/p>

GRID

里控制回车事?/p>

 

 

 

?/p>

VFP

里,

GRID

的默认控件都?/p>

TEXTBOX

?/p>

形成了一个表格,

但是在这个二维表里进?/p>

操作时,每次按回车都是往后一个单元格跳转,当到最后一列时?/p>

则继续跳到第一列,

进?/p>

循环,操作很不方便?/p>

 

 

 

 

 

下面说明如何?/p>

GRID

里的一个列里按回车使记录连续往下跳?/p>

(或可以执行其他的操

作)

,当跳转到最后一行时执行另一个操作?/p>

 

1、对

GRID

所在的表单新增属性:

 

cur_recn 

记录当前记录?/p>

 

cur_recc 

记录最大记录号

 

2

、在表单初始化,或给

GRID

以数据源时,就先计算出该表的最大的记录数,如下?/p>

 

thisform.cur_recc=recc() 

为了一次得到当?/p>

GRID

里的表的记录总数

 

3

、在

GRID

?/p>

AfterRowColChange

事件里写?/p>

 

thisform.cur_recn=recn() 

为了得到当前?/p>

GRID

里的表的记录?/p>

 

4

、在

GRID

里的某列?/p>

TEXT1

?/p>

KEYPRESS

事件里:

 

if nKeyCode = 13

 

&&

 

当按键为回车?/p>

 

 

if thisform.cur_recn>=thisform.cur_recc

 

 

 

**--

 

当当前记录大于等于最大记录时,即记录已到最后一个时

 

 

 

thisform.command1.setfocus

 

 

 

**--

 

使表单上的一个命令按纽聚焦,也即可以跳出?/p>

GRID

?/p>

 

 

**--

 

而正常的操作很难?/p>

GRID

里跳出,在这里就可以使在记录到最后时焦点跳出?/p>

 

 

else 

 

 

 

thisform.cur_recn=recn()

 

&& 

当记录还没到尾时,则

... 

 

 

nodefault && 

不做任何响应

 

 

 

keyboard "{dnarrow}" && 

模拟键盘下箭头,使记录指针下移一?/p>

 

 

endif 

endif 

以上所说的?/p>

只要按键盘上的上下箭头即可轻易做到在

GRID

中移动指针,

没有太大的意义?/p>

 

2.

如何实现输完数据后按回车键,使表格中的焦点自动跳到下一?/p>

 

在你要判断转换的

GRID

?/p>

最后一列的

TEXT1

?/p>

keypress: 

IF  nKeyCode=13    

         SELECT  

你绑定表?/p>

 

         nRec=RECNO()   

         SKIP 

 

         IF EOF() 

 

            APPEND BLANK  &&

在表尾加一空记?/p>

 

            SKIP 

 

&&

记录指针?/p>

EOF() 

            Thisform.grid1.refresh 

            Thisform.grid1.column1.text1.SetFocus &&

到最前面

 

         ELSE 

 

             GO nRec  &&

同一行,不要此就跳下一?/p>

 

Ͼλ">
Ͼλ
Ŀ

VFP中GRID的使用技?- 百度文库
新建
上传
首页
助手
最?/div>
资料?/div>
工具

GRID

的使用技?/p>

 

1.

如何?/p>

GRID

里控制回车事?/p>

 

 

 

?/p>

VFP

里,

GRID

的默认控件都?/p>

TEXTBOX

?/p>

形成了一个表格,

但是在这个二维表里进?/p>

操作时,每次按回车都是往后一个单元格跳转,当到最后一列时?/p>

则继续跳到第一列,

进?/p>

循环,操作很不方便?/p>

 

 

 

 

 

下面说明如何?/p>

GRID

里的一个列里按回车使记录连续往下跳?/p>

(或可以执行其他的操

作)

,当跳转到最后一行时执行另一个操作?/p>

 

1、对

GRID

所在的表单新增属性:

 

cur_recn 

记录当前记录?/p>

 

cur_recc 

记录最大记录号

 

2

、在表单初始化,或给

GRID

以数据源时,就先计算出该表的最大的记录数,如下?/p>

 

thisform.cur_recc=recc() 

为了一次得到当?/p>

GRID

里的表的记录总数

 

3

、在

GRID

?/p>

AfterRowColChange

事件里写?/p>

 

thisform.cur_recn=recn() 

为了得到当前?/p>

GRID

里的表的记录?/p>

 

4

、在

GRID

里的某列?/p>

TEXT1

?/p>

KEYPRESS

事件里:

 

if nKeyCode = 13

 

&&

 

当按键为回车?/p>

 

 

if thisform.cur_recn>=thisform.cur_recc

 

 

 

**--

 

当当前记录大于等于最大记录时,即记录已到最后一个时

 

 

 

thisform.command1.setfocus

 

 

 

**--

 

使表单上的一个命令按纽聚焦,也即可以跳出?/p>

GRID

?/p>

 

 

**--

 

而正常的操作很难?/p>

GRID

里跳出,在这里就可以使在记录到最后时焦点跳出?/p>

 

 

else 

 

 

 

thisform.cur_recn=recn()

 

&& 

当记录还没到尾时,则

... 

 

 

nodefault && 

不做任何响应

 

 

 

keyboard "{dnarrow}" && 

模拟键盘下箭头,使记录指针下移一?/p>

 

 

endif 

endif 

以上所说的?/p>

只要按键盘上的上下箭头即可轻易做到在

GRID

中移动指针,

没有太大的意义?/p>

 

2.

如何实现输完数据后按回车键,使表格中的焦点自动跳到下一?/p>

 

在你要判断转换的

GRID

?/p>

最后一列的

TEXT1

?/p>

keypress: 

IF  nKeyCode=13    

         SELECT  

你绑定表?/p>

 

         nRec=RECNO()   

         SKIP 

 

         IF EOF() 

 

            APPEND BLANK  &&

在表尾加一空记?/p>

 

            SKIP 

 

&&

记录指针?/p>

EOF() 

            Thisform.grid1.refresh 

            Thisform.grid1.column1.text1.SetFocus &&

到最前面

 

         ELSE 

 

             GO nRec  &&

同一行,不要此就跳下一?/p>

 



ļ׺.doc޸Ϊ.docĶ

  • ͨԭʵ顪2PSK
  • ·̸ʩ׼¼ȫȫ
  • ϸѧʵ2016ѧ
  • ǰװѹӰˮ
  • Žصĺ꾫Ĵ˵̽
  • ʯͱ19ݽѧγơһ׶ҵ
  • 궽
  • 2015걱ڶѧԺ˶ʿиܽ
  • ѧѧ
  • ְʮسӹս̰ѧ

վ

԰ Ͼλ
ϵͷ779662525#qq.com(#滻Ϊ@)