里进行操作时,每次按 回车都是往后一个单元格跳转,当到最后一列时,则继续跳到第一列,进而循环,使操作很不方便,特 别是一些要按照 DOS 的操作习惯的,希望回车时,可以往下移动单元格,或在最后一列回车时回到第一 列等操作。 下面说明如何在 GRID 里的一个列里按回车使记录连续往下跳转(或可以执行其他的操作),当跳转到最 后一行时执行另一个操作。 1、对 GRID 所在的表单新增属性: cur_recn 记录当前记录号 cur_recc 记录最大记录号 2、在表单初始化,或给 GRID 以数据源时,就先计算出该表的最大的记录数,如下: thisform.cur_recc=recc() 为了一次得到当前 GRID 里的表的记录总数
3、在 GRID 的 AfterRowColChange 事件里写: thisform.cur_recn=recn() 为了得到当前的 GRID 里的表的记录号 4、在 GRID 里的某列的 TEXT1 的 KEYPRESS 事件里: if nKeyCode = 13 &;&; 当按键为回车时 if thisform.cur_recn>=thisform.cur_recc **-- 当当前记录大于等于最大记录时,即记录已到最后一个时 thisformmand1.setfocus **-- 使表单上的一个命令按纽聚焦,也即可以跳出该 GRID, **-- 而正常的操作很难从 GRID 里跳出,在这里就可以使在记录到最后时焦点跳出来 else thisform.cur_recn=recn() &;&; 当记录还没到尾时,则… nodefault &;&; 不做任何响应 keyboard "{dnarrow}" &;&; 模拟键盘下箭头,使记录指针下移一个 endif endif ------------------------------------------------------------------------------------------添加复选框控件: 添加复选框控件: 如果新控件是一个复选框,应将复选框的 Caption 属性设置为“ ”,并将列的 Sparse 属性 设置为“假”(.F.)。 提示: 如果想让复选框在表格列中居中,可先创建一个容器类,将复选框添加到容器类中, 并调整复选框在容器类中的位置。然后将容器类添加到表格列中,并将复选框的 ControlSource 属性设 置为需要的字段。 ------------------------------------------------------------
-------------------------------若要通过代码将控件添加到表格列 l 请在表格的 Init 事件中,使用 AddObject 方法
程序 将控件添加到表格列,然后设置列的 CurrentControl 属性。例如,Init 事件包含了如下代码,向列中 添加两个控件,并将其中一个设置为当前控件:THIS.grcColumn1.AddObject("spnQuantity", "SPINNER")THIS.grcColumn1.AddObject("cboQuantity", "COMBOBOX")THIS.grcColumn1.CurrentControl = "spnQuantity"l 下面的代码确保控件是可见的,并且 显示在表格中的每一行。THIS.grcColumn1.spnQuantity.Visible = .T.THIS.grcColumn1.Sparse = .F. 在本例中,Column1 有三个可能的当前控件值:l spnQuantityl cboQuantityl Text1 (默认控件)附 注 在表格级上设置的属性并不会传到列或标头。因此,必须直接设置标头或所包含控件的属性,它 们不会继承列级别的属性设置。 提示 要想在表格列中显示组合框最佳状态,请设置下列组合框属性∶ BackStyle = 0 Margin = 0 SpecialEffect = 1 BorderStyle = 0 类别:
vfp 编程 | 添加到搜藏 | 浏览(988) | 评论 (1)