视听在线 图片中心 职教博客 职教论坛 信息查询 网络办公 同学录 免费邮箱

栏 目 导 航

科教专题
创作常识
教育论文
学科研究
科教成果
文书范本
师生风采
现代远教
校园文学
朝阳文学社
青春寄语
人文素材
精典论述
散文欣赏
缤纷诗语
精品小说
笑破肚皮
学习培训
课堂教学
信息技术
等级考试
升学考试
教师技能
试题中心
教案课件

 

网 站 统 计
学校概况:89 篇学校概况
新闻中心:206 个新闻
教学教研:457 篇教学教研
德育工作:87 个德育
视听在线:125 篇视听节目
图片:93 张图片
下载:95 个下载
注册会员:10110位
最 新 调 查
 没有任何调查

 

 

您现在的位置: 南江县职中(三中) >> 教学教研 >> 学习培训 >> 信息技术 >> 程序设计 >> VFP数据库 >> 教学教研正文
 搜索

高级搜索

  • 上一篇教学教研: 没有了
  • 下一篇教学教研:
  • VFP6开发软件中的一些技巧

    作者:蔡怀周    教学教研来源:本站原创    点击数:    更新时间:2007-12-12



    七.改进VFP的searchclass.vcx

    我们都知道利用VFP提供的WIZARDS类库中的searchform.vcx和searchclass.vcx可 以创建一个通用查询表单。这个查询非常通用,操作界面也非常简单明了。但是,此表单有一个缺憾,就是此表单的字段对话框就只能显示字段名,如果数据表的字段名为英文时,显示的字段名对操作人员而言就显的不够清楚。我们一般在设计数据库时给每个字段加以中文标题,用于对字段名的详细说明,就像用BROW命令时,就可以用字段标题代替字段名一样, 我们也可以通过对searchclass.vcx的修改使其用字段标题代替字段名显示,这样就使得整个界面非常友好。

    ---- 打开WIZARDS类库,选择searchclass.vcx。

    ---- (一)、修改cbofield1的init事件

    ---- 在下列语句

    FOR m.i = FCOUNT() TO 1 STEP -1
    IF INLIST(aWizFList[m.i,2],"G","M","U") &&Memo field
    =ADEL(aWizFList,m.i)
    DIMENSION aWizFList[MAX(1,ALEN
    (aWizFList,1)-1),NUM_AFIELDS]
    ENDIF
    ENDFOR
    后加上以下程序段:
    *获取当前的数据表名
    tname=alias()
    *获取数据库名
    dname=cursorgetprop('database')
    set database to (dname)
    *获取字段标题
    for m.i=1 to alen(awizflist,1)
    fname=tname+′.′+awizflist[m.i,1]
    *将字段名保存
    awizflist[m.i,16]=awizflist[m.i,1]
    if !empty(dname)
    fcaption=dbgetprop(fname,′field′,′caption′)
    *用字段标题代替字段名
    awizflist[m.i,1]=iif(!empty
    (fcaption),fcaption,awizflist[m.i,1])
    endif
    endfor
    THIS.RowSourceType = 5
    THIS.RowSource = "aWizFList"
    THIS.VALUE = THIS.LIST[1,1]
        将原最后一句THIS.VALUE=THIS.LIST[1]删除
    

    ---- (二)、修改cbofield2的init 事件

    THIS.RowSourceType = 5
    THIS.RowSource = "aWizFList"
    THIS.VALUE = THIS.LIST[1,1]
    

    ---- (三)、修改searchitem方法程序

    ---- 在语句m.cFldName = ALLTRIM(m.oField.Value)后加上以下程序段:

    *查找对应显示标题的字段名
    for m.i=1 to alen(aWizflist,1)
    if m.cfldname=alltrim(aWizflist[m.i,1])
    *用字段名代替字段标题
    m.cfldname=alltrim(aWizflist[m.i,16])
    endif
    endfor
    

    ---- 这样通过对以上二个字段组合框的init事件和searchclass方法程序的修改就可以完成在字段组合框显示字段标题,而非字段名,只要我们在数据表中设置好每个字段的标题, 就可以在字段组合框中显示运用。其实WIZARDS类库中类都可根据我们的实际需要进行改进,在程序中直接引用,这样就减少了我们重新设计类的麻烦。


    上一页  [1] [2] [3] [4] [5] [6] [7] [8] 下一页

    教学教研录入:CaiHZ    责任编辑:CaiHZ 
    发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
  • 上一篇教学教研: 没有了
  • 下一篇教学教研:
  •  

    设为首页加入收藏联系站长友情链接版权申明关于我们

    本站版权所有:四川省南江县职业中学(南江三中)[C2004-2006] 【蜀ICP备05026437号】
    地址:四川省南江县南江镇光雾山大道香山路66号,电话:0827-8280443 EMail:scnjsz@126.com,传真:08278281138
    本站设计:蔡怀周,QQ:372051855   校友QQ群:11428533 7289410 18990001

    最佳浏览设置:1024×768、16位真彩色以上