- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在PB中利用DataStore实现查询条件记忆
在PB中利用DataStore实现查询条件的记忆 DataStore是非可视的数据窗口控件,它能够为应用程序存储数据而不消耗任何图形资源。除了一些可视特征外,它的功能及行为与数据窗口控件相同。因此,我们可以利用DataStore的特点方便地记忆与维护查询条件。 第一步,在数据库中建立一个查询条件表,其中包含每个要用到的条件字段(如标题、文献来源、开始日期、结束日期等)与一个日期字段、时间字段。该表用来保存最近使用的10个(如果需要可以保存任意个)不同条件,每个条件就是一条记录,后两个字段(日期、时间)用来记载条件的使用时间。 第二步,创建一个包含查询条件表中所有字段的数据窗口对象dw_condation,按使用时间的先后排序。进行查询条件设置时, 第三步,构造如下图的查询条件设置窗口。 四个复选框对应四个条件字段,左、右方向按钮用来浏览设置最近使用过的条件。 第四步,为窗口事件及各控件编写相应的程序。 定义窗口实例变量:datastore ids_Data long currentrow 窗口的Open事件:ids_Data = Create DataStore //创建数据存储实例ids_Data.DataObject = dw_condation //将dw_condation数据窗口对象与ids_Data连接ids_Data.SetTransObject(sqlca) ids_data.retrieve() if ids_data.rowcount() 1 then //设置当前条件为最后一次使用的条件pb_3.enabled=true currentrow=ids_data.rowcount() trigger event ue_setquery(ids_data.rowcount()) end if 窗口自定义事件ue_setquery:string bt,source //标题、文献来源date start_day,end_day//开始日期、结束日期long page //页号//根据参数rownum从数据存储实例中得到各条件值bt=ids_Data.Object.bt[rownum] source=ids_Data.Object.source[rownum] start_day=ids_Data.Object.begin[rownum] end_day=ids_Data.Object.end[rownum] page=ids_Data.Object.page[rownum] //初始化各窗口控件的状态cbx_1.checked=false cbx_2.checked=false cbx_3.checked=false cbx_4.checked=false sle_1.enabled=false ddlb_1.enabled=false em_1.enabled=false em_2.enabled=false em_3.enabled=false //分别设置各个条件值if not isnull(bt) and trim(bt) then cbx_1.checked=true sle_1.enabled=true sle_1.text=bt end if if not isnull(source) and trim(source) then cbx_2.checked=true ddlb_1.enabled=true ddlb_1.text=source end if if isnull(start_day) or start_day=date(1900-1-1) then em_1.text=string(today(),yyyy-mm-dd) else cbx_3.checked=true em_1.enabled=true em_1.text=string(start_day,yyyy-mm-dd) end if if isnull(end_day) or end_day=date(1900-1-1) then em_2.text=2050-1-1 else cbx_3.checked=true em_2.enabled=true em_2.text=string(end_day,yyyy-mm-dd) end if if not isnull(page) and page 0 then cbx_4.checked=true em_3.enabled=true em_3.text=string(page) end if 窗口的Close事件:destroy ids_data //清除数据存储实例pb_3(向前按钮)的Clicked事件:if currentrow 1 then //设置前一个条件为当
您可能关注的文档
最近下载
- 《心理健康讲座》ppt课件(图文).pptx
- 初中英语话剧7-8个人物的剧本.doc VIP
- 鲁教版五四制八年级上册生物 第七单元 第一章 动物的主要类群 练习题(无答案).doc VIP
- [人教版小学五年级上册美术教案.doc VIP
- 《中华人民共和国放射性污染防治法》知识培训.pptx VIP
- 二年级上册劳动技术教案(详).docx VIP
- 第2课 使用数字设备 教案 义务教育人教版信息科技三年级全一册.docx VIP
- DLT5161表格大全(电气装置安装工程质量检验和评定规程).pdf VIP
- 初中数学综合实践活动课教学策略研究.pptx VIP
- 六年级语文上册第二单元教材分析+说课.pptx VIP
文档评论(0)