CN100382023C - 在数据约束网格中控制操作表格的实现方法 - Google Patents

在数据约束网格中控制操作表格的实现方法 Download PDF

Info

Publication number
CN100382023C
CN100382023C CNB2005101279183A CN200510127918A CN100382023C CN 100382023 C CN100382023 C CN 100382023C CN B2005101279183 A CNB2005101279183 A CN B2005101279183A CN 200510127918 A CN200510127918 A CN 200510127918A CN 100382023 C CN100382023 C CN 100382023C
Authority
CN
China
Prior art keywords
row
dbgrid
location number
mouse
record
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005101279183A
Other languages
English (en)
Other versions
CN1821955A (zh
Inventor
王青
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jiaxun Feihong Electrical Co Ltd
Original Assignee
Beijing Jiaxun Feihong Electrical Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jiaxun Feihong Electrical Co Ltd filed Critical Beijing Jiaxun Feihong Electrical Co Ltd
Priority to CNB2005101279183A priority Critical patent/CN100382023C/zh
Publication of CN1821955A publication Critical patent/CN1821955A/zh
Application granted granted Critical
Publication of CN100382023C publication Critical patent/CN100382023C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

本发明涉及一种数据约束网格中控制操作表格的实现方法。本发明主要包括:首先,在操作选择表格行过程中,实时检测Shift键输入信号及鼠标操作键输入信号,当获得所述的两输入信号时,则首先记录表格的当前行;之后,计算鼠标输入信号对应的表格行;最后将表格的当前行与鼠标输入信号对应的表格行之间的所有表格行输入到数据约束网格中的表格选择集合中。因此,本发明中,用户可以采用最少的操作步骤实现对DBGrid表格中的多行记录进行操作,从而大大简化了操作,改善了用户体验,增加了DBGrid操作软件的友好性和易用性。

Description

在数据约束网格中控制操作表格的实现方法
技术领域
本发明涉及电子技术领域,尤其涉及一种数据约束网格中的表项编辑控制技术。
背景技术
DBGrid(数据约束网格)是Microsoft Visual Basic中内置的表格编辑控件,用于与数据访问控件绑定以实现快速访问数据库内容。
DBG rid在实际应用中,有时会需要同时选定DBGrid中的多行记录,并对选中的多行记录进行相同的操作,例如,同时修改所有被选中记录的某一字段的内容等。
目前,DBGrid本身只支持有限的多行选定方法,即按住键盘中的Ctrl键的同时用鼠标左键单击DBGrid的记录选择器,记录选择器所在的记录就变为选中状态,而原来已经处于选中状态的其他记录也不会变成未选中状态。重复这个操作,可以完成选定多行记录的目的。利用该方法,如果要选定10行记录的话,需要单击鼠标10次。
因此,可以看出现有的DBGrid提供的控制操作选择多项表格时,相应的操作过程较为繁琐,使用起来很不方便。
发明内容
本发明的目的是提供一种在数据约束网格中控制操作表格的实现方法,从而可以实现仅通过两次鼠标单击便可以同时选中多行表格记录,有效简化了表格控制操作过程。
本发明的目的是这样实现的:
本发明提供了一种数据约束网格中控制操作表格的实现方法,包括:
A、在操作选择表格行过程中,实时检测Shift键输入信号及鼠标操作键输入信号;
B、当获得所述的两输入信号时,则记录表格的当前行;
C、根据鼠标输入信号计算鼠标点击的表格行,并将记录的表格当前行与鼠标点击的表格行之间的所有表格行输入到数据约束网格中的表格选择标记集合中。
所述的步骤B还包括:
在保存数据约束网格当前行之后,删除所有当前其他处于已经选中状态的各行。
所述的步骤B包括:
B1、当同时检测到Shift键输入信号和鼠标左操作键输入信号,则计算并记录表格的当前行的位置号作为需要选中的连续的若干行中的第一行的位置号。
所述的步骤B1还包括:
判断鼠标左键输入信号是否位于数据约束网格的记录选择器所在的列,如果是,则保存当前行的位置号作为第一行的位置号,否则退出处理。
所述的步骤B1还包括:
调用数据约束网格的列计算函数传递鼠标按键抬起事件的横座标变量作为参数,当列计算函数返回值为0时,则确定鼠标点击点所在的列是数据约束网格记录选择器所在的列。
所述的步骤C包括:
C1、根据鼠标输入信号计算鼠标点击的表格行,计算并记录鼠标点击的表格行对应的位置号作为需要选中的连续的若干行中的末尾行的位置号;
C2、将保存的第一行的位置号与保存的末尾行的位置号之间的所有表格行输入到数据约束网格中的表格选择标记集合中。
所述的步骤C2包括:
根据保存的第一行的位置号与保存的末尾行的位置号的大小确定两位置号之间的所有表格行。
所述的步骤C2包括:
采用循环方式将所述的第一行的位置号和末尾行的位置号之间的所有行添加数据约束网格中的表格选择标记集合中,且当所述的第一行的位置号小于或等于所述末尾行的位置号时,相应的循环变量为递增循环;当所述的第一行的位置号大于所述末尾行的位置号时,相应的循环变量为递减循环。
所述的位置号是通过保存的数据Data控件的记录集Recordset的绝对位置AbsolutePosition属性值确定确定。
所述的方法还包括:
在执行完成所述的步骤C后,根据保存的当前行信息恢复当前行。
由上述方案可以得知,本发明是通过对DBGrid控件的改进编程,响应用户的操作来实现一次选定多行记录。即当用户按下键盘Shift键的同时用鼠标左键单击DBGrid的记录选择器时,程序检测到Shift键被按下,则开始计算鼠标单击点所属的行,将该行到当前行之间的所有行的Bookmark值加入到DBGrid的SelBookmarks(表格选择标记)集合中,即可实现选中多行。通过代码对SelBookmarks集合中的行逐个修改内容,即可实现一次修改多行的内容。
因此,通过本发明所描述的方法,用户可以用最少的操作步骤实现对DBGrid表格中的多行记录进行操作,从而大大简化了操作,改善了用户体验,增加了DBGrid操作软件的友好性和易用性。
附图说明
图1为DBGrid的原始状态示意图;
图2为本发明所述的方法的具体实现过程示意图;
图3为在DBGrid中选中10行的状态示意图。
具体实施方式
本发明的核心是修改DBGrid操作控制实体(即DBGrid操作软件)的具体处理过程,从而使得其可以通过少量的操作信号的输入便可以完成同时选中多行表格记录的操作。
本发明提供一种DBGrid中一次选定中多行记录的的方法,避免了原来选定多行需要多次鼠标点击的操作方法,提高了DBGrid操作的效率。
为便于对本发明的理解,下面将结合附图对本发明所述的方法做进一步的详细说明。
假设DBGrid的原始状态如图2所示,DBGrid已经与Data(数据)控件绑定并被填充上记录。当前记录为第1行,当用户按下键盘的Shift键并用鼠标左键单击第10行的记录选择器时,在DBGrid的MouseUp(鼠标按键抬起)事件里便可以采用本发明所述的方法实现,相应的具体实现方式如图2所示,具体包括以下处理过程:
步骤21:判断Shift键是否被按下,即监测是否有Shift键操作信号输入,如果没有,则退出处理,否则继续执行步骤22。
步骤22:判断是否有鼠标左键操作输入,如果没有,则退出处理,如果有,则继续执行步骤23。
步骤23:判断计算鼠标单击点所在的列是否在记录选择器所在的列,如果不在,则退出处理,否则,继续执行步骤24。
鼠标单击点所在的列的计算方法是调用DBGrid的ColContaining(列计算)函数,传递MouseUp事件的X(横座标)变量作为参数。如果ColContaining返回值为0,则表明鼠标单击点所在的列是DBGrid记录选择器所在的列。
步骤24:保存DBGrid的当前行;
实际上是保存DBGrid的BookMark(标记)值到一个Variant(不定)变量中。
任何时候,DBGrid总有一行属于当前行,随着用户鼠标对DBGrid单元格的点击(具体是指Shift键未被按下的点击,即用户正常操作时的鼠标点击,而不是在有Shift键按下信号的点击),当前行会发生变化,鼠标点击的行会变成当前行,但是如果用户按下Shift键并且点击DBGrid的记录选择器,则当前行不会发生变化。
步骤25:清除所有当前已经被选中的行;也就是清除DBGrid的SelBookmarks集合。
也就是说,用户可能在已经选定多行的情况下再一次执行选定多行的操作,这时就需要先清除原来已经被选定行,再进行以下的操作;
当然,如果原来没有选定多行,该清除操作也不会产生多余的问题。
步骤26:计算并保存DBGrid当前行在Data控件的记录集中的位置号,也就是保存Data控件的Recordset(记录集)的AbsolutePosition(绝对位置)属性值,即保存需要选中的多行中的第一行对应的位置号;
由于DBGrid本身不能读取数据库表的内容,而是通过Data控件来读取数据表的内容,再绑定到DBGrid中,DBGrid才能显示数据,因此,实际编程应用中,DBGrid均需要与Data控件联合使用;
所述的Data控件的记录集是Data控件读取数据表的内容后,在内存中的具体保存方式,DBGrid中显示的内容即是记录集中的内容,二者是一一对应的关系。
步骤27:计算确定鼠标单击点所在的行,之后,计算并保存该行在Data控件的记录集中的位置号;
确定鼠标单击点所在的行通过调用DBGrid的RowContaining(行计算)函数,并传递MouseUp事件的Y(纵座标)变量作为参数。
计算该行在Data控件的Recordset中的位置号是这样实现的:
把Data控件的Recordset的BookMark值置为鼠标单击点所在的行,再取Recordset的AbsolutePosition值,就是所需要的位置号。
在完成步骤26的操作之后,还需要执行步骤27以便于选择需要选中的连续的多行中的末尾行。
步骤28:将步骤26和步骤27确定的两位置号之间的所有行添加到DBGrid的SelBookmarks集合中,该集合用于保存所有被选中的行,凡是添加到这个集合中的行,在DBGrid的界面上都会被显示成选中状态,具体如图3所示。
至此便完成了通过增加一次鼠标点击完成同时选中多行位置号连续的记录,从而简化了相应的DBGrid操作控制过程。
执行上述过程之后,还需要将DBGrid的当前行恢复成步骤24保存的行,这是因为在执行上述各步骤的过程中,会改变DBGrid的当前行,因此,需要通过该步骤以恢复当前行。
另外,本发明在实际的实现过程中还要考虑到步骤26的位置号和步骤27的位置号的大小问题,以便于正确处理执行步骤28,具体的处理方式为:在步骤28中是采用循环的方式将步骤26的位置号P1和步骤27的位置号P2之间的所有行添加到DBGrid的SelBookmarks集合中的,如果P1小于或等于P2,则循环变量是递增的循环;如果P1大于P2,则循环变量是递减的循环。
综上所述,本发明中,只需要用户在选中某一行记录的基础上再单击一次鼠标就可以选中DBGrid的多行记录,从而使得相应的操作过程大大简化。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种数据约束网格中控制操作表格的实现方法,其特征在于,包括:
A、在操作选择表格行过程中,实时检测Shift键输入信号及鼠标操作键输入信号;
B、当获得所述的两输入信号时,则记录表格的当前行;
C、根据鼠标输入信号计算鼠标点击的表格行,并将记录的表格当前行与鼠标点击的表格行之间的所有表格行输入到数据约束网格中的表格选择标记集合中。
2.根据权利要求1所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的步骤B还包括:
在保存数据约束网格当前行之后,删除所有当前其他处于已经选中状态的各行。
3.根据权利要求1所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的步骤B包括:
B1、当同时检测到Shift键输入信号和鼠标左操作键输入信号,则计算并记录表格的当前行的位置号作为需要选中的连续的若干行中的第一行的位置号。
4.根据权利要求3所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的步骤B1还包括:
判断鼠标左键输入信号是否位于数据约束网格的记录选择器所在的列,如果是,则保存当前行的位置号作为第一行的位置号,否则退出处理。
5.根据权利要求4所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的步骤B1还包括:
调用数据约束网格的列计算函数传递鼠标按键抬起事件的横坐标变量作为参数,当列计算函数返回值为0时,则确定鼠标点击点所在的列是数据约束网格记录选择器所在的列。
6.根据权利要求3、4或5所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的步骤C包括:
C1、根据鼠标输入信号计算鼠标点击的表格行,计算并记录鼠标点击的表格行对应的位置号作为需要选中的连续的若干行中的末尾行的位置号;
C2、将保存的第一行的位置号与保存的末尾行的位置号之间的所有表格行输入到数据约束网格中的表格选择标记集合中。
7.根据权利要求6所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的步骤C2包括:
根据保存的第一行的位置号与保存的末尾行的位置号的大小确定两位置号之间的所有表格行。
8.根据权利要求7所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的步骤C2包括:
采用循环方式将所述的第一行的位置号和末尾行的位置号之间的所有行添加数据约束网格中的表格选择标记集合中,且当所述的第一行的位置号小于或等于所述末尾行的位置号时,相应的循环变量为递增循环;当所述的第一行的位置号大于所述末尾行的位置号时,相应的循环变量为递减循环。
9.根据权利要求6所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的位置号是通过保存的数据Data控件的记录集Recordset的绝对位置AbsolutePosition属性值确定。
10.根据权利要求1至4任一项所述的在数据约束网格中控制操作表格的实现方法,其特征在于,所述的方法还包括:
在执行完成所述的步骤C后,根据保存的当前行信息恢复当前行。
CNB2005101279183A 2005-12-07 2005-12-07 在数据约束网格中控制操作表格的实现方法 Expired - Fee Related CN100382023C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101279183A CN100382023C (zh) 2005-12-07 2005-12-07 在数据约束网格中控制操作表格的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101279183A CN100382023C (zh) 2005-12-07 2005-12-07 在数据约束网格中控制操作表格的实现方法

Publications (2)

Publication Number Publication Date
CN1821955A CN1821955A (zh) 2006-08-23
CN100382023C true CN100382023C (zh) 2008-04-16

Family

ID=36923345

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101279183A Expired - Fee Related CN100382023C (zh) 2005-12-07 2005-12-07 在数据约束网格中控制操作表格的实现方法

Country Status (1)

Country Link
CN (1) CN100382023C (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106610774B (zh) * 2015-10-23 2020-03-31 北京国双科技有限公司 网页表格编辑方法及装置
CN106959941A (zh) * 2016-01-11 2017-07-18 北京国双科技有限公司 网页表格删除方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121114A (en) * 1989-05-29 1992-06-09 Sharp Corporation Information processing apparatus having a specified-area confirming function
JPH07230453A (ja) * 1994-02-18 1995-08-29 Canon Inc 文書処理装置及び文書処理方法
JPH10283351A (ja) * 1997-04-01 1998-10-23 Sanyo Electric Co Ltd 文書処理装置、文書処理方法及び記録媒体
JP2001022748A (ja) * 1999-07-07 2001-01-26 Just Syst Corp 文書処理装置、文書処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001052013A (ja) * 1999-08-06 2001-02-23 Ricoh Co Ltd 文書処理装置、文書処理方法および文書処理プログラムを記録した媒体
US6829744B1 (en) * 1999-04-09 2004-12-07 Canon Kabushiki Kaisha Document processing apparatus, method, and memory medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121114A (en) * 1989-05-29 1992-06-09 Sharp Corporation Information processing apparatus having a specified-area confirming function
JPH07230453A (ja) * 1994-02-18 1995-08-29 Canon Inc 文書処理装置及び文書処理方法
JPH10283351A (ja) * 1997-04-01 1998-10-23 Sanyo Electric Co Ltd 文書処理装置、文書処理方法及び記録媒体
US6829744B1 (en) * 1999-04-09 2004-12-07 Canon Kabushiki Kaisha Document processing apparatus, method, and memory medium
JP2001022748A (ja) * 1999-07-07 2001-01-26 Just Syst Corp 文書処理装置、文書処理方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2001052013A (ja) * 1999-08-06 2001-02-23 Ricoh Co Ltd 文書処理装置、文書処理方法および文書処理プログラムを記録した媒体

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Excel 2000单元格操作技巧(一). 陆荣.电脑技术,第1期. 2001 *
EXCEL中区域的选取方法. 张凤云.电脑学习,第2期. 1999 *

Also Published As

Publication number Publication date
CN1821955A (zh) 2006-08-23

Similar Documents

Publication Publication Date Title
US20150161095A1 (en) Method for inserting or deleting cells, rows or columns in spreadsheet and a device therefor
US7793219B1 (en) Construction of multimedia compositions
CN102799385B (zh) 桌面控制方法和装置
CN108064368A (zh) 柔性显示设备的控制方法及装置
CN105474112B (zh) 程序编辑方法
CN101430624A (zh) 输入装置、输入装置的控制方法和程序
CN106610774B (zh) 网页表格编辑方法及装置
CN101763219A (zh) 可触摸式液晶屏操作网页浏览器的用户界面方法及设备
CN103677603A (zh) 触控式区域性操作的方法及设备
US20060294137A1 (en) Database application including split views
JPH0520016A (ja) アイコンメニユー表示装置
CN100382023C (zh) 在数据约束网格中控制操作表格的实现方法
CN105607784A (zh) 一种调节触摸屏灵敏度的方法、调节装置以及终端
CN107145369A (zh) 一种应用程序的卸载方法及移动终端
US11266908B2 (en) Game system, game control device, and information storage medium
CN107193450A (zh) 页面元素选择方法及装置
CN106708360A (zh) 应用界面的切换方法及其装置、电子设备
CN105205062A (zh) 数据存储方法、数据读取方法和装置
CN100527124C (zh) 一种自动检测和跟随数据变化的装置和方法
CN115269101A (zh) 一种基于RPA实现Excel数据透视表拾取的方法
CN108287643A (zh) 一种页面布局调整的方法及装置
CN107977154A (zh) 一种触控状态下的文件管理系统
US9710571B2 (en) Graphical top-down planning system
CN106445303A (zh) 一种快捷操作应用程序的方法及终端
CN102419682A (zh) 网页的切换显示系统及其方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080416

Termination date: 20100107