pb80技术分析和总结.docx

  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在下拉数据窗口中查找与输入数据匹配的数据 本篇文章来源与时代朝阳数据库(原晓通数据库)培训部 PowerBuilder资料库。 从下拉数据窗口中查找数据时,一般情况下,需要从下拉数据窗口的第一行开始查找。如果下拉数据窗口中的数据很少,只有十条左右,查找很方便。但是,如果下拉数据窗口的数据很多,如上百条,则查找起来就会很麻烦。 下面讲述一种从下拉数据窗口中查找数据的方法。该方法可以实现:将数据输入该列时,该列自动显示下拉数据窗口中与输入数据最匹配的第一个数据,下拉数据窗口自动滚动到被选数据所在的行,并且高亮度显示该行。 下面举例介绍,步骤如下: 创建窗口 win_article_sub,je在ct窗口中放置数据窗口控制 dw_1。 创建与窗口 win_article_subj相ec连t 的数据窗口dw_article_subj,ec该t 数据窗口基于表“article_subject”。创建“subject”列的下拉数据窗口dw_subjec,t 该下拉数据窗口基于表“subject”。创建好的窗口及数据窗 口如下图所示: 注意,在带有下拉数据窗口的列(“subject”列)中,必须指定该列的“Allow Editing”属性Tr为ue。 在窗口中定义如下的实例变量: long il_rowcount boolean ib_keyword datawindowchild idwc_data string is_mach, is_type 在窗口的 open事件写入如下的语句: ib_keyword = false 在窗口中定义名为“highlight”的用户自定义事件,不指定事件ID 号、传入参数和返回值,并在事件中写入如下的语句: idwc_data.SelectRow(il_rowcount, TRUE) 创建全局函数 gf_match_row,函数的参数和返回值定义如下表所示: 参数名 参数名 参数类型 参数传递方式 dwc_name datawindowchild reference s_text string value i_length int value s_type string value s_col_name string value 返回类型为:长整型(Long)。函数程序如下: string ls_mthtext long ll_mthrow long ll_counter = 1 long ll_row IF s_type = number THE检N 测//列的数据类型是否为 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_counter 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_counter + 1 END IF LOOP END IF return(ll_row返) 回//与输入数据最匹配的数据所在行的行号 在数据窗口控制的“clicked”事件中写入如下的程序: ib_keyword = false 在数据窗口控制(dw_1 )的“editchanged”事件写入如下程序: //定义变量 string ls_search, ls_col_name string ls_attribute integer li_string_length //获得具有下拉数据窗口列的列名 ib_keyword = false ls_col_name = dw_1.GetColumnName() //判别当前列是否具有下拉数据窗口,如果不具有,则退出事件程序 IF dw_1.GetChild(ls_col_name,idwc_data) 0 THEN return END IF //获得下拉数据窗口的显示列及其类型 ls_attribut

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地湖北
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档