3 个解决方案
#1
用getchild得到下拉的数据窗口,在editchange事件中写代码,然后定位行
#2
数据窗口中实现增量查询
先来了解以下什么是数据窗口的增量查询功能。数据窗口的增量查询是针对于数据窗口的某一列而言,假设一个窗口中有单行编辑器和数据窗口两个控件,在单行编辑器控件中每输入一个字符,数据窗口就能找到这一列值左边部分与单行编辑器中内容相符合的行,并高亮度显示。例如数据窗口是按整型字段“ID”升序排列的,用户在单行编辑器中输入“1”,则数据窗口滚动到ID字段第一位为“1”的第一行并高亮度显示,再在“1”后面输入“0”,则数据窗口滚动到ID字段前两位为“10”的第一行,依此类推。
增量查询功能实现的关键有两点:一是单行编辑器控件能实时响应键盘的输入,捕捉每一个按键,获得其中的文本;二是数据窗口的模糊查询的功能,即能够找到列ID左边文本与单行编辑器文本相等的行,这可以用“like”来匹配。
具体操作步骤如下:
1、建立一个工作空间(workspace),取名为:zlcx。
2、建立一个应用(application),取名为:zlcx。
3、建立一个Standard Visual UserObject,基类为单行编辑器SingleLineEdit,取名为:uo_zlcx。
4、定义uo_zlcx的用户事件ue_enchange,Event ID:pbm_enchange,用于响应键盘的输入。
5、为uo_zlcx定义一个对象级函数,uf_zlcx(datawindow adw_name,string as_column) return (none)
//增量查询
//参数:adw_name 数据窗口名
// as_column 查询的列名
long ll_found_row
string ls_find
//查找条件(左部分与单行编辑器文本相等)
ls_find = "string(" +as_column + ") like " + "'" + this.text + "%'"
//查找符合条件的行
ll_found_row = adw_name.Find(ls_find, 1, adw_name.RowCount())
if ll_found_row <= 0 then return
//滚动到相匹配的行
adw_name.ScrollToRow(ll_found_row)
adw_name.SelectRow(0 , false)
//将匹配行加亮显示
adw_name.SelectRow(ll_found_row , true)
6、调用方法
新建立一窗口,内置一数据窗口控件dw_1和一用户对象控件sle_1(由uo_zlcx继承而来),并将dw_1和数据窗口对象关联。假设查询的列名为“ID”,则在sle_1的ue_enchange事件编写如下脚本:
this.uf_zlcx( dw_1, 'id')
先来了解以下什么是数据窗口的增量查询功能。数据窗口的增量查询是针对于数据窗口的某一列而言,假设一个窗口中有单行编辑器和数据窗口两个控件,在单行编辑器控件中每输入一个字符,数据窗口就能找到这一列值左边部分与单行编辑器中内容相符合的行,并高亮度显示。例如数据窗口是按整型字段“ID”升序排列的,用户在单行编辑器中输入“1”,则数据窗口滚动到ID字段第一位为“1”的第一行并高亮度显示,再在“1”后面输入“0”,则数据窗口滚动到ID字段前两位为“10”的第一行,依此类推。
增量查询功能实现的关键有两点:一是单行编辑器控件能实时响应键盘的输入,捕捉每一个按键,获得其中的文本;二是数据窗口的模糊查询的功能,即能够找到列ID左边文本与单行编辑器文本相等的行,这可以用“like”来匹配。
具体操作步骤如下:
1、建立一个工作空间(workspace),取名为:zlcx。
2、建立一个应用(application),取名为:zlcx。
3、建立一个Standard Visual UserObject,基类为单行编辑器SingleLineEdit,取名为:uo_zlcx。
4、定义uo_zlcx的用户事件ue_enchange,Event ID:pbm_enchange,用于响应键盘的输入。
5、为uo_zlcx定义一个对象级函数,uf_zlcx(datawindow adw_name,string as_column) return (none)
//增量查询
//参数:adw_name 数据窗口名
// as_column 查询的列名
long ll_found_row
string ls_find
//查找条件(左部分与单行编辑器文本相等)
ls_find = "string(" +as_column + ") like " + "'" + this.text + "%'"
//查找符合条件的行
ll_found_row = adw_name.Find(ls_find, 1, adw_name.RowCount())
if ll_found_row <= 0 then return
//滚动到相匹配的行
adw_name.ScrollToRow(ll_found_row)
adw_name.SelectRow(0 , false)
//将匹配行加亮显示
adw_name.SelectRow(ll_found_row , true)
6、调用方法
新建立一窗口,内置一数据窗口控件dw_1和一用户对象控件sle_1(由uo_zlcx继承而来),并将dw_1和数据窗口对象关联。假设查询的列名为“ID”,则在sle_1的ue_enchange事件编写如下脚本:
this.uf_zlcx( dw_1, 'id')
#3
我不知道这里如何上传文件和帖图.
如果需要QQ找我.124030710
我也不知道这里如何更改我的基本信息,我想更改我的中文名和增加一些相关信息.
如果需要QQ找我.124030710
我也不知道这里如何更改我的基本信息,我想更改我的中文名和增加一些相关信息.
#1
用getchild得到下拉的数据窗口,在editchange事件中写代码,然后定位行
#2
数据窗口中实现增量查询
先来了解以下什么是数据窗口的增量查询功能。数据窗口的增量查询是针对于数据窗口的某一列而言,假设一个窗口中有单行编辑器和数据窗口两个控件,在单行编辑器控件中每输入一个字符,数据窗口就能找到这一列值左边部分与单行编辑器中内容相符合的行,并高亮度显示。例如数据窗口是按整型字段“ID”升序排列的,用户在单行编辑器中输入“1”,则数据窗口滚动到ID字段第一位为“1”的第一行并高亮度显示,再在“1”后面输入“0”,则数据窗口滚动到ID字段前两位为“10”的第一行,依此类推。
增量查询功能实现的关键有两点:一是单行编辑器控件能实时响应键盘的输入,捕捉每一个按键,获得其中的文本;二是数据窗口的模糊查询的功能,即能够找到列ID左边文本与单行编辑器文本相等的行,这可以用“like”来匹配。
具体操作步骤如下:
1、建立一个工作空间(workspace),取名为:zlcx。
2、建立一个应用(application),取名为:zlcx。
3、建立一个Standard Visual UserObject,基类为单行编辑器SingleLineEdit,取名为:uo_zlcx。
4、定义uo_zlcx的用户事件ue_enchange,Event ID:pbm_enchange,用于响应键盘的输入。
5、为uo_zlcx定义一个对象级函数,uf_zlcx(datawindow adw_name,string as_column) return (none)
//增量查询
//参数:adw_name 数据窗口名
// as_column 查询的列名
long ll_found_row
string ls_find
//查找条件(左部分与单行编辑器文本相等)
ls_find = "string(" +as_column + ") like " + "'" + this.text + "%'"
//查找符合条件的行
ll_found_row = adw_name.Find(ls_find, 1, adw_name.RowCount())
if ll_found_row <= 0 then return
//滚动到相匹配的行
adw_name.ScrollToRow(ll_found_row)
adw_name.SelectRow(0 , false)
//将匹配行加亮显示
adw_name.SelectRow(ll_found_row , true)
6、调用方法
新建立一窗口,内置一数据窗口控件dw_1和一用户对象控件sle_1(由uo_zlcx继承而来),并将dw_1和数据窗口对象关联。假设查询的列名为“ID”,则在sle_1的ue_enchange事件编写如下脚本:
this.uf_zlcx( dw_1, 'id')
先来了解以下什么是数据窗口的增量查询功能。数据窗口的增量查询是针对于数据窗口的某一列而言,假设一个窗口中有单行编辑器和数据窗口两个控件,在单行编辑器控件中每输入一个字符,数据窗口就能找到这一列值左边部分与单行编辑器中内容相符合的行,并高亮度显示。例如数据窗口是按整型字段“ID”升序排列的,用户在单行编辑器中输入“1”,则数据窗口滚动到ID字段第一位为“1”的第一行并高亮度显示,再在“1”后面输入“0”,则数据窗口滚动到ID字段前两位为“10”的第一行,依此类推。
增量查询功能实现的关键有两点:一是单行编辑器控件能实时响应键盘的输入,捕捉每一个按键,获得其中的文本;二是数据窗口的模糊查询的功能,即能够找到列ID左边文本与单行编辑器文本相等的行,这可以用“like”来匹配。
具体操作步骤如下:
1、建立一个工作空间(workspace),取名为:zlcx。
2、建立一个应用(application),取名为:zlcx。
3、建立一个Standard Visual UserObject,基类为单行编辑器SingleLineEdit,取名为:uo_zlcx。
4、定义uo_zlcx的用户事件ue_enchange,Event ID:pbm_enchange,用于响应键盘的输入。
5、为uo_zlcx定义一个对象级函数,uf_zlcx(datawindow adw_name,string as_column) return (none)
//增量查询
//参数:adw_name 数据窗口名
// as_column 查询的列名
long ll_found_row
string ls_find
//查找条件(左部分与单行编辑器文本相等)
ls_find = "string(" +as_column + ") like " + "'" + this.text + "%'"
//查找符合条件的行
ll_found_row = adw_name.Find(ls_find, 1, adw_name.RowCount())
if ll_found_row <= 0 then return
//滚动到相匹配的行
adw_name.ScrollToRow(ll_found_row)
adw_name.SelectRow(0 , false)
//将匹配行加亮显示
adw_name.SelectRow(ll_found_row , true)
6、调用方法
新建立一窗口,内置一数据窗口控件dw_1和一用户对象控件sle_1(由uo_zlcx继承而来),并将dw_1和数据窗口对象关联。假设查询的列名为“ID”,则在sle_1的ue_enchange事件编写如下脚本:
this.uf_zlcx( dw_1, 'id')
#3
我不知道这里如何上传文件和帖图.
如果需要QQ找我.124030710
我也不知道这里如何更改我的基本信息,我想更改我的中文名和增加一些相关信息.
如果需要QQ找我.124030710
我也不知道这里如何更改我的基本信息,我想更改我的中文名和增加一些相关信息.