TKCORE框架学习之入门篇(十)--树形表增删改查

树形表增删改查

在本教程中,将演示如果实现树形表(Course_cate)的增删改查功能。你将了解:

  • 初步了解 TKCore 的树形表的路由机制
  • 初步了解树形表增删改查的配置方法

根据TKCore的数据库定义规范,树形表(Course_cate)的配置需要在数据表中定义的基础字段:

  1. parent_id:父节点id,数据库字段建议类型:int
  2. layer:表示树形的层级,数据库字段建议类型:varchar
  3. is_leaf:表示是否是树形的叶节点,数据库字段建议类型:smallint

步骤一:创建树形表,使用到的表结构如下:

  • Mysql 版本

    create table Course_cate
    (
       cate_id              int(10) not null,
       parent_id            int(10),
       layer                varchar(64),
       is_leaf              smallint(6),
       name                 varchar(64),
       create_date          datetime,
       create_id            int(10),
       update_date          datetime,
       update_id            int(10),
       primary key (cate_id)
    );
  • SQL Server 版本
    create table Course_cate (
       cate_id              int                  not null,
       parent_id            int                  null,
       layer                varchar(64)          null,
       is_leaf              smallint             null,
       name                 varchar(64)          null,
       create_date          datetime             null,
       create_id            int                  null,
       update_date          datetime             null,
       update_id            int                  null,
       constraint PK_COURSE_CATE primary key (cate_id)
    )

 

步骤二:创建树形表 PDM 模型,并使用 ToolkitSuite 工具生成 DataXML 文件。

我们已为你准备好树形表的 PDM 模型,点击下载

如果你还不了解如何使用 ToolkitSuite 工具生成 XML 配置文件,点此了解

 

步骤三:创建 Web应用

创建 “CourseCate” Web应用,如下图:
在这里插入图片描述

如果你还不了解如何创建 TKCore 项目,点此了解

 

步骤四:配置 DataXml 文件

复制步骤二生成的Cate.xml文件到项目的Xml/Data/CourseCate下 ,修改Cate.xml文件名为CourseCate.xml。复制以下代码到CourseCate.xml中

<tk:Tree IdField="CateId" ParentIdField="ParentId" LayerField="Layer" LeafField="IsLeaf" NameField="Name"/>

如下图:
在这里插入图片描述

提示: 如果你的数据表字段设计符合tkcore的规范 如:tree_cate_id,tree_parent_id,tree_is_leaf,tree_name ,tree_可改为其他的字段前缀。直接写 <tk:Tree />即可,如:<tk:Tree />
IdField,LayerField,LeafField,NameField,ParentIdField都是对应字段
的昵称

 

步骤五:配置 ModuleXml 文件

文件夹的路径,决定了该模块的路由,由于树形不能配置list所以用C替代list,本示例路由是:~/c/xml/C/CourseCate/CourseCate

创建Xml/Module/CourseCate/CourseCate.xml文件,复制以下内容到文件内。

<?xml version="1.0" encoding="UTF-8"?>
<tk:Toolkit version="5.0" xsi:schemaLocation="http://www.qdocuments.net ..\..\schema\v5\Module.xsd" xmlns:tk="http://www.qdocuments.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <tk:Module>
    <tk:Title>
      <tk:Content>课程分类表</tk:Content>
    </tk:Title>
    <tk:MetaData>
      <tk:SingleXmlMetaData DataXml="CourseCate/CourseCate.xml"/>
    </tk:MetaData>
    <tk:Source>
      <tk:SingleDbTreeSource>
        <tk:Resolver>
          <tk:TreeMetaDataResolver AutoTrackField="true" AutoUpdateKey="true">
            <tk:Scheme>
              <tk:Tk5DataXml FileName="CourseCate/CourseCate.xml"/>
            </tk:Scheme>
          </tk:TreeMetaDataResolver>
        </tk:Resolver>
      </tk:SingleDbTreeSource>
    </tk:Source>
    <tk:PageMaker>
      <tk:RazorModuleTemplatePageMaker ModuleTemplate="SingleTreeDialog">
        <tk:PageTemplate Style="C">
          <tk:RazorData>
            <tk:NormalTreeData ShowNewRootButton="true"/>
          </tk:RazorData>
        </tk:PageTemplate>
      </tk:RazorModuleTemplatePageMaker>
    </tk:PageMaker>
  </tk:Module>
</tk:Toolkit>

 

步骤六:运行,查看效果

运行效果如下:
在这里插入图片描述

如果需要展示父节点的名称,请继续 步骤七,步骤八

 

步骤七:配置EasySearch显示父节点的名称

在路径Decoder/UserManager下创建CourseCateEasySearch.xml,复制以下内容到文件内。

<?xml version="1.0" encoding="utf-8"?>
    <tk:Toolkit version="5.0" xsi:schemaLocation="http://www.qdocuments.net ..\..\schema\v5\EasySearch.xsd" xmlns:tk="http://www.qdocuments.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <tk:Tk5TreeEasySearch DataXml="CourseCate/CourseCate.xml" RegName="COURSECATE_ES" Author="FU" CreateDate="2020-10-28" Description="课程分类"/>
</tk:Toolkit>

在DataXml中使用COURSECATE_ES,复制以下代码替换parent_id字段定义

<tk:Field DataType="int">
    <tk:FieldName>parent_id</tk:FieldName>
    <tk:NickName>ParentId</tk:NickName>
    <tk:DisplayName>
        <tk:Content>父节点</tk:Content>
    </tk:DisplayName>
    <tk:EasySearch RegName="COURSECATE_ES"></tk:EasySearch>
    <tk:Layout Layout="PerUnit" UnitNum="1"/>
    <tk:Control Control="EasySearch" Order="20" DefaultShow="All"/>
    <tk:ListDetail>
        <tk:ListDisplay>
            <tk:AutoDisplay/>
        </tk:ListDisplay>
        <tk:DetailDisplay>
            <tk:AutoDisplay/>
        </tk:DetailDisplay>
    </tk:ListDetail>
    <tk:Edit>
        <tk:Display>
            <tk:AutoDisplay Style="Edit"/>
        </tk:Display>
    </tk:Edit>
</tk:Field>

 

步骤八:运行,查看效果
在这里插入图片描述

到这里,你可以点击【修改子节点】,【删除节点】,【新建子节点】等按钮,体验下框架内置的功能了。

关于TKCore的更多信息请点击: http://www.tkcore.net
关注微信公众号获取TKCore最新资讯:

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TkCore

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

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

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

打赏作者

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

抵扣说明:

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

余额充值