


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在下拉数据窗口中查找与输入数据匹配的数据从下拉数据窗口中查找数据时,一般情况下,需要从下拉数据窗口的第一行开始查找。如果下拉数据窗口中的数据很少,只有十条左右,查找很方便。但是,如果下拉数据窗口的数据很多,如上百条,则查找起来就会很麻烦。下面讲述一种从下拉数据窗口中查找数据的方法。该方法可以实现:将数据输入该列时,该列自动显示下拉数据窗口中与输入数据最匹配的第一个数据,下拉数据窗口自动滚动到被选数据所在的行,并且高亮度显示该行。下面举例介绍,步骤如下:1.创建窗口win_article_subject,在窗口中放置数据窗口控制dw_1。2.创建与窗口win_article_subject相连的
2、数据窗口dw_article_subject,该数据窗口基于表“article_subject”。创建“subject”列的下拉数据窗口dw_subject,该下拉数据窗口基于表“subject”。创建好的窗口及数据窗口如下图所示:注意,在带有下拉数据窗口的列 (“subject”列)中,必须指定该列的“Allow Editing”属性为True。3.在窗口中定义如下的实例变量:long il_rowcountboolean ib_keyworddatawindowchild idwc_datastring is_mach, is_type 4.在窗口的open事件写入如下的语句:ib_key
3、word = false5.在窗口中定义名为“highlight”的用户自定义事件,不指定事件ID号、传入参数和返回值,并在事件中写入如下的语句:idwc_data.SelectRow(il_rowcount, TRUE)6.创建全局函数gf_match_row,函数的参数和返回值定义如下表所示:参数名 参数类型 参数传递方式dwc_name datawindowchild reference s_text string values_type string values_col_name string value返回类型为:长整型(Long)。函数程序如下:string ls_mthtext
4、long ll_mthrowlong ll_counter = 1 long ll_rowIF s_type = "number" THEN /检测列的数据类型是否为number /逐行检测下拉数据窗口中与输入数据最匹配的数据所在的行 DO UNTIL ll_counter > dwc_name.RowCount() ll_mthrow = dwc_name.GetItemNumber(ll_counter, s_col_name) IF Left(string(ll_mthrow), i_length) = s_text THEN ll_row = ll_count
5、er EXIT ELSE ll_counter = ll_counter + 1 END IF LOOP ELSE/列的数据类型不是number /逐行检测下拉数据窗口中与输入数据最匹配的数据所在的行 DO UNTIL ll_counter > dwc_name.RowCount() ls_mthtext = dwc_name.GetItemString(ll_counter, s_col_name) IF Left(ls_mthtext, i_length) = s_text then ll_row = ll_counter EXIT ELSE ll_counter = ll_coun
6、ter + 1 END IF LOOP END IF return(ll_row) /返回与输入数据最匹配的数据所在行的行号 7. 在数据窗口控制的“clicked”事件中写入如下的程序: ib_keyword = false 8. 在数据窗口控制(dw_1)的“editchanged”事件写入如下程序: /定义变量 string ls_search, ls_col_name string ls_attribute integer li_string_length /获得具有下拉数据窗口列的列名 ib_keyword = false ls_col_name = dw_1.GetColumnNa
7、me() /判别当前列是否具有下拉数据窗口,如果不具有,则退出事件程序 IF dw_1.GetChild(ls_col_name,idwc_data) < 0 THEN return END IF /获得下拉数据窗口的显示列及其类型 ls_attribute = ls_col_name + ".dddw.displaycolumn" ls_col_name = this.Describe ( ls_attribute) ls_attribute = ls_col_name+".coltype" is_type = idwc_data.Describ
8、e(ls_attribute) /获得输入到列中的文本 ls_search = dw_1.GetText() li_string_length = Len(ls_search) IF li_string_length = 0 THEN return END IF /找出下拉数据窗口中与输入数据最匹配的行 il_rowcount = gf_match_row(idwc_data, ls_search,+& li_string_length,is_type,ls_col_name) IF il_rowcount <= 0 THEN ib_keyword = FALSE ELSE ib
9、_keyword = TRUE idwc_data.SetRow(il_rowcount) IF is_type = "number" THEN is_mach = string(idwc_data.GetItemNumber(il_rowcount,ls_col_name) dw_1.SetItem(dw_1.GetRow(),dw_1.GetColumn(), is_mach) ELSE is_mach = idwc_data.GetItemString(il_rowcount, ls_col_name) dw_1.SetItem(dw_1.GetRow(),dw_1.GetColumn(),is_mach) END IF /事件editchanged结束后,下拉数据窗口中被选中的行以高亮度显示 parent.PostEvent("highlight") END IF 运行窗口“win_article_type”,在数据窗口中的“subject”列中输入第一个字时,该列显示下拉数据窗口中与输入的第一个字相匹配的数据,下拉数据窗口自动滚动到该行,并且高亮度显示该行。例如,当在“subject”列中输入“工”字时,数据“工业”自动显示到该列中,下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语文教育课题:《诗歌意境中的生命哲学教学案》
- 科技体验馆项目可行性研究报告
- 现代物流管理专业能力测试题
- 公众参与与无障碍环境提升的互动机制
- 电子商务物流管理与运营知识题库
- 科技行业人才信息统计表
- 生态产品价值提升的关键技术与创新路径
- 人力资源行业招聘与培训成果证明(8篇)
- 依托党组织推动学院人才培养模式创新的路径分析
- 芙蓉花的梦作文1000字12篇
- 初中语文 24 唐诗三首《卖炭翁》公开课一等奖创新教学设计
- 北京海淀十一学校2024届英语七年级第二学期期末教学质量检测模拟试题含答案
- 2023-2024学年辽宁省沈阳市皇姑区七年级(下)期末数学试卷(含答案)
- 酿酒机械与设备智慧树知到期末考试答案章节答案2024年齐鲁工业大学
- 儿童保健门诊规范化建设标准
- 《庖丁解牛》省公开课金奖全国赛课一等奖微课获奖课件
- JBT 11699-2013 高处作业吊篮安装、拆卸、使用技术规程
- 24春国家开放大学《离散数学》大作业参考答案
- 健康保险合同
- 2023-2024年天原杯全国初中学生化学竞赛复赛试题(含答案)
- 牛顿-拉夫逊潮流计算的程序设计
评论
0/150
提交评论