TKCORE框架学习之入门篇(七)--EasySearch 使用

EasySearch 控件使用

  • EasySearch 的含义:自动填充或选择控件

  • EasySearch 和代码表的区别:EasySearch 是可以输入内容去匹配或直接选择,对于数据量多的情况下可以快速匹配到相关选择
    在这里插入图片描述

    效果图
    在这里插入图片描述

    在 Xml/Data 文件夹下的 xml 文件中配置:

    <tk:Field DataType="string">
      <tk:FieldName>USER_AREA</tk:FieldName>
      <tk:DisplayName>
        <tk:Content>地区</tk:Content>
      </tk:DisplayName>
      <tk:Length>6</tk:Length>
      <tk:EasySearch RegName="SX"/>
      <tk:Layout Layout="PerUnit" UnitNum="1"/>
      <tk:Control Control="EasySearch" Order="200" DefaultShow="AllNoList"/>
    </tk:Field>
    

    需要指定注册名:

    <tk:EasySearch RegName="SX"/>
    

    Control 配置成"EasySearch"

    <tk:Control Control="EasySearch" Order="200" DefaultShow="AllNoList"/>
    

    效果图:
    在这里插入图片描述

MultipleEasySearch控件

MultipleEasySearch控件是可复选的EasySearch控件

在 Xml/Data 文件夹下的 xml 文件中配置:

<tk:Field DataType="string">
  <tk:FieldName>USER_AREA</tk:FieldName>
  <tk:DisplayName>
    <tk:Content>地区</tk:Content>
  </tk:DisplayName>
  <tk:Length>6</tk:Length>
  <tk:EasySearch RegName="SX"/>
  <tk:Layout Layout="PerUnit" UnitNum="1"/>
  <tk:Control Control="MultipleEasySearch" Order="200" DefaultShow="AllNoList"/>
</tk:Field>

需要指定注册名:

<tk:EasySearch RegName="SX"/>

Control 配置成"EasySearch"

<tk:Control Control="MultipleEasySearch" Order="200" DefaultShow="AllNoList"/>

效果图:
在这里插入图片描述

EasySearch级联配置

项目开发中会碰到需要做关联的情况,比较选择城市,希望关联前面控件的省选项,或者选择小类别时希望关联前面的大类别。EasySearch可以进行级联配置。

首先,我们需要进行数据准备,首先需要准备两个EasySearch(第一个可以是Combo也可以是EasySearch,但是后续级联的只能是EasySearch),一个是省的,一个是市的。此外,由于市要能根据省进行过滤,那么对存储市的数据表还必须有省的字段,标注该市属于哪个省,这样才能进行对应的过滤。

我们对省的数据表定义成标准代码表CD_PROVINCE,标准代码表可以无需注册定义,直接使用。对市的EasySearch定义如下:

<tk:Tk5EasySearch DataXml="City/ApiCity.xml" RegName="CITY" Author="TK" Description="城市"/>

DataXml文件ApiCity.xml的定义如下:

<?xml version="1.0" encoding="UTF-8"?>
<tk:Toolkit version="5.0" xsi:schemaLocation="http://www.qdocuments.net ..\..\schema\v5\DataXml.xsd" xmlns:tk="http://www.qdocuments.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <tk:Table TableName="API_CITY" NameField="Name">
    <tk:TableDesc>
      <tk:Content>城市表</tk:Content>
    </tk:TableDesc> 
       <tk:Field DataType="string" IsKey="true" IsEmpty="false">
    <tk:FieldName>API_CITY_ID</tk:FieldName>
      <tk:NickName>Id</tk:NickName>
      <tk:DisplayName>
        <tk:Content>Id</tk:Content>
      </tk:DisplayName>
      <tk:Layout Layout="PerUnit" UnitNum="1"/>
      <tk:Control Control="Hidden" Order="10" DefaultShow="All"/>
    </tk:Field>
    <tk:Field DataType="int" IsEmpty="false">
      <tk:FieldName>API_PROVINCE</tk:FieldName>
      <tk:NickName>ApiProvince</tk:NickName>
      <tk:DisplayName>
        <tk:Content></tk:Content>
      </tk:DisplayName>
      <tk:CodeTable RegName="CD_PROVINCE"/>
      <tk:Layout Layout="PerUnit" UnitNum="1"/>
      <tk:Control Control="Combo" Order="20" DefaultShow="All"/>
    </tk:Field>
    <tk:Field DataType="string" IsEmpty="false">
      <tk:FieldName>API_CITY_NAME</tk:FieldName>
      <tk:NickName>Name</tk:NickName>
      <tk:DisplayName>
        <tk:Content></tk:Content>
      </tk:DisplayName>
      <tk:Layout Layout="PerUnit" UnitNum="1"/>
      <tk:Control Control="Text" Order="30" DefaultShow="All"/>
    </tk:Field>
  </tk:Table>
</tk:Toolkit>

这里我们看到昵称为ApiProvince的字段存储了市对应的省,这样在过滤时,我们可以根据该字段产生过滤的SQL语句,从而只显示选择的省份下包含的市。

下一步,我们来具体配置需要进行级联的DataXml文件,例子如下:

  <tk:Field DataType="int" IsEmpty="true">
    <tk:FieldName>API_PROVINCE</tk:FieldName>
    <tk:NickName>Province</tk:NickName>
    <tk:DisplayName>
      <tk:Content></tk:Content>
    </tk:DisplayName>
    <tk:CodeTable RegName="CD_PROVINCE"/>
    <tk:Layout Layout="PerUnit" UnitNum="1"/>
    <tk:Control Control="Combo" Order="50" DefaultShow="All"/>
  </tk:Field>
  <tk:Field DataType="string" IsEmpty="true">
    <tk:FieldName>API_CITY</tk:FieldName>
    <tk:NickName>City</tk:NickName>
    <tk:DisplayName>
      <tk:Content></tk:Content>
    </tk:DisplayName>
    <tk:EasySearch RegName="CITY">
      <tk:RefValue Field="ApiProvince" RefField="Province"/>
    </tk:EasySearch>
    <tk:Layout Layout="PerUnit" UnitNum="1"/>
    <tk:Control Control="EasySearch" Order="50" DefaultShow="All"/>
  </tk:Field>

关键是配置EasySearch标签下的RefValue:

Field是EasySearch定义的表中关联字段 (例子中,是对应CITY的EasySearch的DataXml文件中,标签Field下的NickName是ApiProvince的字段)

RefField是当前xml文件中关联的字段

效果图:
在这里插入图片描述

关于TKCore的更多信息请点击:http://www.tkcore.net

关注微信公众号获取TKCore最新资讯:

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TkCore

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值