跟我一起学extjs5(42--单个模块的数据新增方式)

        前面的章节中已经增加了一个自己定义的模块,而且能够进行数据的新增、改动、删除的操作了,在这个基础上就能够大作文章了。

这一节来设想几种新据新增的方式。并给出一些详细的解决方式。

        看了我后台java源代码的能够看出,全部的模块的新增、改动、删除全部是同样的处理,仅仅是用了反射来生成各个实体bean,这样无论你有多少个业务bean。你的这部分代码是不用再增加了,仅仅须要考虑一些逻辑处理上的操作就可以。这些在后面会提到。

基于这种方式,我们能够定义多种数据的新增方案,比方如今程序里已经有的二种。一种是直接新增,另一种是复制新增。

        在实际使用过程中这二种方式肯定是不够的,因此能够设计出以下几种:
  • 单条excel数据新增。
  • 多条excel数据新增;
  • 单条记录复制到剪切板新增。
  • 多条记录复制到剪切板新增。
以下分别对这几种方式的实现方式作下说明:
        一、单条excel数据的新增:这种方式对于字段非常多的表比較适用,首先定义好一个excel表用来填写每一条记录。对于我们上一节中增加的销售合同模块。我们能够作一张以下的excel表:
做好这张表之后。我们须要设置一下字段相应的单元格子,就是哪个字段是填数据的。比方上表中合同编码就填在B2单元格内,签订日期填在D2单元格内。

tf_code=B2;

tf_signDate=D2;

tf_name=B3;

tf_customerNme=B4;

........

        4.专门有一个模块是管理数据单条Excel新增的,将这些字段设置放到这个模块的管理“销售合同”的那条记录下,把相应关系设置进去。然后把上面的excel文件上传。

        5.合同管理的新增button下会有一个菜单栏,“excel单条记录上传新增”,按下后会显示一个上传文件的窗体,选择添好数据的新增的excel文件,上传就可以。文件上传无论成功不成功都会返回结果。

        6.文件上传的操作也会自己主动记录到操作日志中,会把上传的文件也保存在里面。

        7.在模块的右上角会有一个设置button,在这个button下会增加一个"下载单条记录excel新增的模板文件” 的菜单栏,按此菜单荐,就能够把上面做好的那个模板文件供用户下载了填写数据。

        通过以上几步,就能够全然在前台增加一个模块的单条记录excel上传的功能,此功能增加好以后直接刷新网页就直接能用了。

        二、多条excel数据新增。

        多条数据excel新增的过程比单条的还要少,还要方便。

        1.在模块字段的属性中有一个 是否同意excel导入的字段。在java的 _ModuleField中,此字段的定义例如以下:

@JsonIgnore

@FieldDefine(title =
"Excel导入", remark = "Excel导入新增时增加此字段可新增", number = 240)

private Boolean
tf_allowInsertExcel;

        2.将须要导入的字段的该值设置为true;

        3.将全部须要在多条excel导入新增时增加的字段的该值设置为true;

        4.设置该模块的 “同意多条excel导入” 选项为true;

        5.刷新网页;能够在模块的右上角的设置button以下下载用于多条新的的excel的模块文件。

        6.依据模块文件里的一些提示将此excel文件里的数据填好。

        7.在新增的button下,会有一个 “多条excel文件新增”的button,按下之后将会上传你填写好的excel文件。

        8.后台对每一条数据进行新增。新增的结果会写在数据列后面的一列上。

        9.新增好后会显示一共增加了多少条。有多少失败,能够下载处理好的写有每条记录新增成功或失败(有失败的原因)的excel表。

        10.新增的信息会增加到日志文件里,以后能够下载新增这表文件。

        以上二种新增方式是在实际使用中我用到的。在原来的extjs4.2的版本号中已经实现了,详细的能够看extjs4.2 的那个博客,在extjs5的版本号中还没有增加,上面讲述的仅仅是基本原理。

        单条记录和多条记录复制到剪切板新增的过程应该和上面多条excel新增的方式相似,这个我还没有做好。仅仅是有这个设想。

希望大家对各种数据新增的方式发表意见,看看有没有更好更加方便的方法来进行数据的新增。

        这一节是抽出时间写的,比較乱,希望有人能看懂。

跟我一起学extjs5(42--单个模块的数据新增方式)的更多相关文章

  1. 跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])

    跟我一起学extjs5(37--单个模块的设计[5取得模块列表数据])         写了几个月,总算有点盼头了,最终要从后台取得数据了.后台的spring mvc 和 service 仅仅能简单的 ...

  2. 跟我一起学extjs5(11--自己定义模块的设计)

    跟我一起学extjs5(11--自己定义模块的设计)        从这一节開始我们来设计并完毕一个自己定义模块.我们先来确定一个独立的模块的所能定义的一些模块信息. 下面信息仅仅是我自己在开发过程中 ...

  3. 跟我一起学extjs5(13--运行菜单命令在tabPanel中显示模块)

    跟我一起学extjs5(13--运行菜单命令在tabPanel中显示模块)         上面设计好了一个模块的主界面,以下通过菜单命令的运行来把这个模块增加到主界面其中. 在MainModule. ...

  4. 跟我一起学extjs5(22--模块Form的自己定义的设计)

    跟我一起学extjs5(22--模块Form的自己定义的设计)         前面几节完毕了模块Grid的自己定义,模块Form自己定义的过程和Grid的过程类似,可是要更复杂一些.先来设计一下要完 ...

  5. 跟我一起学extjs5(18--模块的新增、改动、删除操作)

    跟我一起学extjs5(18--模块的新增.改动.删除操作)         上节在Grid展示时做了一个金额单位能够手工选择的功能,假设你要增加其它功能.也仅仅要依照这个模式来操作即可了,比方说你想 ...

  6. 跟我一起学extjs5(24--模块Form的自己定义的设计[2])

    跟我一起学extjs5(24--模块Form的自己定义的设计[2])         在本节中将要增加各种类型的字段,在增加字段的时候因为能够一行增加多个字段,因此层次结构又多了一层fieldcont ...

  7. 跟我一起学extjs5(16--各种Grid列的自己定义渲染)

    跟我一起学extjs5(16--各种Grid列的自己定义渲染)         Grid各列已经可以展示出来了.列的类型包含字符型,整型,浮点型,货币型,百分比型,日期型和布尔型,我自己定义了各种类型 ...

  8. 跟我一起学extjs5(19--模块记录的拖放删除、拖放复制新增)

    跟我一起学extjs5(19--模块记录的拖放删除.拖放复制新增)         网页其中的拖放(drag-drop)是比較有趣的操作,extjs5中非常好的封装了拖放的动作,也有各种类来支持,可是 ...

  9. 跟我一起学extjs5(08--自己定义菜单1)

    跟我一起学extjs5(08--自己定义菜单1) 顶部和底部区域已经作好,在顶部区域有一个菜单的button.这一节我们设计一个菜单的数据结构,使其能够展示出不相同式的菜单.因为准备搭建的是一个系统模 ...

随机推荐

  1. CentOS 7上安装gitlab-runner

    1.yum install gitlab-runner -y 2.Registering Runners a.Run the following command: gitlab-runner regi ...

  2. Swift之 vm10虚拟机安装Mac OS X10.10教程

    VM10装Mac OS X 10.9.3及更新到Mac OS X 10.10,让你的windows也能玩Swift .   近期WWDC放出终极大招--新的编程语言Swift(雨燕),导致一大波程序猿 ...

  3. Tomcat会话超时时怎样记录操作日志,满足安全审计要求

    众所周知.在实际的Web应用程序中,会话管理一般都採用Web容器会话管理功能. 使用Tomcat做Webserver也是如此,并且从安全的角度考虑,尽量避免去更改和干预Web容器的会话管理功能. To ...

  4. 整理一些PHP开发安全问题

    整理一些PHP开发安全问题 php给了开发人员极大的灵活性,可是这也为安全问题带来了潜在的隐患.最近须要总结一下以往的问题,在这里借翻译一篇文章同一时候加上自己开发的一些感触总结一下. 简单介绍 当开 ...

  5. Python print 语句(Python 2 与 Python 3)

    1. python 3.x 中的 print print 在 Python 3.x 的环境里是内置函数(built-in function): python 3 的 print 语句支持(python ...

  6. 慢慢人生路,学点Jakarta基础-深入剖析Java的接口和抽象类

    在java面向对象编程的,抽象类和接口始终存在有疑问的地方,因为两者太多相似有太多不同,在刚开始学习的时候经常弄的不对,使用情景搞混,今天来总结之前学习Java中接口和抽象类的问题. 抽象类 了解:只 ...

  7. mycat 不得不说的缘分(转)

    ,尾声,左兄与任正非.leader-us与马云 新成立的公司里面,有个左兄,很传奇,大一在大学入伍,然后复员专业,来上海学IT,年纪轻轻,睡在地铁站,苦心专研数据库.系统.中间件,现在已经成为了业界大 ...

  8. 漫话C++之string字符串类的使用(有汇编分析)

    C++中并不提倡继续使用C风格的字符串,而是为字符串定义了专门的类,名为string. 使用前的准备工作 在使用string类型时,需要包含string头文件,且string位于std命名空间内: # ...

  9. 2.技巧: 用 JAXM 发送和接收 SOAP 消息—Java API 使许多手工生成和发送消息方面必需的步骤自动化

    转自:https://www.cnblogs.com/chenying99/archive/2013/05/23/3094128.html 技巧: 用 JAXM 发送和接收 SOAP 消息—Java ...

  10. 【Good Bye 2017 A】New Year and Counting Cards

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 是元音字母或者是奇数就递增. [代码] #include <bits/stdc++.h> using namespace ...