`
whui0110
  • 浏览: 84236 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

金蝶KDTable常用代码

 
阅读更多
如何使得KDTable支持多行文本的显示:
只需要给KDTable的列设置一个多行显示的属性即可。设置的方法:
col.getStyleAttributes().setWrapText(true);


如何设置KDTable向下键自动新增行
KDTableHelper里面的方法
1. /**
2. * 在table的最后一行按下箭头自动新增行。
3. *
4. * @param table
5. * @param isAddRow
6. * 是否自动新增行
7. * @param actionAfterAddRow
8. * 新增行后将触发的事件
9. */
10. public static void downArrowAutoAddRow(KDTabletable, boolean isAddRow, Action actionAfterAddRow)


如何设置KDTableTab键和Enter键自动新增行
KDTableHelper的这个方法可以满足这个需求:
1. /**
2. * 修改Enter键的行为使它于Tab一致
3. *
4. * @param table
5. * @param isAddRow
6. * 焦点到了最后一行,再次按下enter和tab是否自动增加新行
7. * @param actionAfterAddRow
8. * 添加新行后的事件
9. */
10. public static void updateEnterWithTab(KDTabletable, boolean isAddRow, Action actionAfterAddRow)


如何调整KDTable的Tab键和enter键的行为
KDTable默认情况下Tab键和Enter键分别起到单元格选择调整的作用,Tab键跳到右侧单元格,Enter键跳到下方的单元格。
KDTableHelper提供了一些方法用于修改Enter键和Tab键的行为。
KDTableHelper.releaseEnter:释放Enter键,即KDTable将不响应Enter键。
KDTableHelper.releaseTab:释放Tab键,即KDTable将不响应Tab键。
KDTableHelper.releaseEnterAndTab:释放Tab和Enter键。


KDTable如何根据内容自动调整行高列宽
双击KDTable的两行(或者列)之间的边线,将会根据内容自动调整行高(列宽)。
通过调用KDTableHelper的autoFitRowHeight和autoFitColumnWidth这两个方法也可以调整行高列宽。计算行高和列宽需要结合字体、Graphics上下文,是比较耗时的,应有时需要注意。


KDTable的排序要如何实现
KDTable的排序都是由KDTSortManager来实现的。分为实模式和虚模式两种应用模式。
虚模式:排序的具体实现由外部通过继承并重写KDTSortManager的sort方法来实现。例如ListUI的就是重写了这个sort方法,在这个方法中清楚KDTable中的数据,然后刷新KDTable,用新的排序方式重新向服务端取数。
1. KDTSortManager sm = new KDTSortManager(table)
2. {
3. public void sort(int colIndex, int sortType)
4. {
5. // 一定要调用super.sort,这句代码将影响表头排序箭头的显示效果
6. super.sort(colIndex, sortType);
7.
8. if (sortType == KDTSortManager.SORT_ASCEND)
9. {
10. // 升序
11. }
12. else
13. {
14. // 降序
15. }
16. }
17. };
复制代码
实模式:KDTSortManager内置了实模式下的排序方式,不需要重写sort方法即可实现实模式的排序,当然,你也可以重写sort方法来实现自己的排序逻辑。
1. KDTSortManager sm = new KDTSortManager(table)
2. sm.setSortAuto(true);


KDTable中如何调整行高列宽
有些时候,KDTable中单元格的文本内容过长,单元格显示不下,需要调整行高或者列宽,通过鼠标双击行或者列的边框线,KDTable会自动调整行高或者列宽到合适位置。
如果想要通过代码在后台调整行高列宽到合适位置,下面的方法分别对应行高、列宽、表头行高:
KDTableHelper的autoFitRowHeight、autoFitColumnWidth、autoFitHeadRowHeight
由于计算合适行高列宽,需要结合当前Graphics以及字体等信息进行计算,这个动作是相对比较耗时的,因此这些方法要结合实际情况使用,大数据量下使用这些方法,将可能导致性能问题。


KDTable部分数据导出到excel后显示格式不一致
这种问题一般是由于没有给KDTable设置正确的格式导致的。主要分为一下几类:
1、 由数字组成的长字符串导出excel后显示为科学计数法或字符串显示不完整,例如手机号13433445678。
解决办法:给KDTable的列设置格式串(col.getStyleAttributes().setNumberFormat("@")),指定该列为字符型即可。
2、 数字位过多的大数字导出excel后显示为科学计数法或精度丢失。
解决办法:给KDTable的列设置格式串(col.getStyleAttributes().setNumberFormat("0.00"))。这里的0.00只是示例,数字格式还有很多种,具体可以参考前面显示格式的介绍。
3、 日期类型数据导出excel后显示格式不正确。
解决办法:给KDTable的列设置格式串(col.getStyleAttributes().setNumberFormat("yyyy-MM-dd"))。这里的yyyy-MM-dd只是示例,日期格式还有很多种,具体可以参考前面显示格式的介绍


如何控制KDTable的显示格式
KDTable提供了格式化的功能,通过格式化的功能可以控制单元格的显示格式,设置列格式的方法:table.getColumn(colIndex).getStyleAttributes().setNumberFormat(formatString);
目前KDTable已能支持Excel2003的格式串,只有个缺陷:格式串中有中文导出尚有问题,中文变乱码, 建议将来都使用Excel2003的格式串,但旧的格式化串还支持,但是如果该表需要导出到excel,必须使用新的格式串,否则导出到excel,可能会显示不一致。
文本类:
1、@ 指定内容按文本显示,主要用于编码、手机号等用数字表示的文本。设定该格式后,可以保证导出excel时,此类文本不会被转成数字显示。
数值类:
1、 0.00 表示两位小数,例如3.10367显示为3.10
2、 0.## 表示两位小数,当小数末位为0时,0将不显示。例如3.10显示为3.1
3、 "#,##0.00 "表示两位小数,且显示千份位
4、 #,##0.00;[Red]#,##0.00 表示负数红字
5、0.00;[Red]0.00;" " 表示负数红字,且数据为0时不显示
6、0.00;[Red](0.00);" "表示正数时两位小数,负数时两位小数并显示红色,0时不显示。0.00;[Red](0.00)只是一个示例,可以为任意的数字格式串,后边再加上;" "(空格)即表示数据为0时不显示。

日期类:
1、 yyyy-m-d
2、 yyyy-MM-dd
3、 yyyy-MM-dd hh:mm:ss
4、 yyyy年MM月dd日
百分比:
1、0%
2、0.00%

…… 详细请打开Excel2003,单元格右键,设置单元格格式,选一种格式,点自定义即可看到该格式的格式串;有的Excel格式串后有带”_”,在使用时,必须去掉。


如何理解KDTable的Render和Editor
Render即为绘制器,KDTable的每个单元格都是对应的绘制器绘制出来的,例如文本绘制器将进行文本的绘制,CheckBox绘制器将在单元格绘制CheckBox的样子,图片绘制器将在单元格绘制图片等。
Editor 即为编辑器,当单元格进入编辑状态后,会在单元格的位置显示编辑器,通过编辑器可以修改单元格的值。在同一时刻,只能有一个单元格进入编辑状态。进入编辑状态的方法有(1)双击或者单击某个单元格,有些编辑器是双击以后再进入,有些编辑器是单击后进入;(2)选中某个单元格,按F2可以进入编辑器;(3)选中某个单元格,按下编辑器能接受的按键,例如文本编辑器可以接受任意可见字符,checkbox可以接受空格键作为切换选择的键,按下这些键后,单元格也将进入编辑状态。结束编辑的方法有(1)在编辑器中按下Enter键或者Tab键;(2)在编辑状态下点击表格的其他单元格;(3)表格控件失去焦点。在编辑状态下按下Esc键将取消编辑。结束编辑和取消编辑的区别在于,结束编辑时会将单元格的值修改为编辑器的值,取消编辑器将保持单元格的旧值。


如何在取数之后,调整KDTable单元格的内容或者显示格式
table. addKDTDataFillListener这个事件将在取数事件之后被调用,在这个事件当中,取数事件获取的数据已经填充到KDTable当中,可以直接获取KDTable的行及单元格进行操作。DataFillListener和取数事件是一一对应的,取数事件调用一次则 DataFillListener将被调用一次,而且DataFillListener的事件参数中的起始行和结束行也是和取数事件的参数一致的。需要注意的是在DataFillListener中只能访问事件参数中的起始行和结束行范围的行,千万不要在这个事件里访问table的所有行,因为如果在这里访问不在事件参数范围内的行,可能导致再次触发取数事件。

如何通过代码控制KDTable新增行
方法一:

//增行
EmpEnrollBizBillEntryInfoentry=newEmpEnrollBizBillEntryInfo();//创建分录的实体
entry.setEmpName(name);//设置实体属性
entry.setIDCardNo(id);
editData.getEntrys().add(entry);//将实体新增到editData的实体列表中。
loadFields();//重新加载分录信息

方法二:

//增行
addLine(kdtEntries);
IRownewRow=kdtEntries.getRow(kdtEntries.getRowCount()-1);//获取新增的行对象
//设置分录的实体
newRow.setUserObject(newReceivingBillEntryInfo());
//设置分录实体的属性
newRow.getCell("Band").setValue(obei.getBand());//品牌
newRow.getCell("ProductSeries").setValue(obei.getProductSeries());//产品线
newRow.getCell("Period").setValue(obei.getPeriod());//期数
分享到:
评论

相关推荐

    EAS KDTable文档

    根据提供的文档信息,我们可以深入探讨金蝶EAS中的KDTable组件及其相关功能和特性。金蝶EAS是一款全面的企业管理软件解决方案,旨在帮助企业优化业务流程、提高效率并实现数字化转型。其中,KDTable是该系统中一个...

    金蝶EAS BOS V5.4客户端常用代码

    ### 金蝶EAS BOS V5.4客户端常用代码详解 #### 一、概述 本文档主要介绍了金蝶EAS BOS V5.4客户端的一些常用代码片段及其应用场景,适用于金蝶EAS BOS V5.4客户端开发人员参考学习。 #### 二、客户端常用代码 ...

    金蝶K3WISE常用数据表(整理)

    金蝶K3WISE常用数据表(整理)

    金蝶项目原代码wowell分享,lib包在下一个rar中

    金蝶项目源代码wowell分享,lib包在下一个rar中

    金蝶K3错误代码查询

    金蝶K3错误代码查询与解析 金蝶K3是一款广泛应用于企业财务管理和供应链管理的软件,其在运行过程中可能会遇到各种错误,这些错误通常由特定的错误代码表示。了解和掌握这些错误代码及其含义,对于及时排查问题、...

    金蝶 BOS 开发样例代码及说明

    **金蝶BOS开发样例代码及说明** 金蝶企业应用平台(Business Operating System,简称BOS)是一款基于Java EE架构的企业级应用开发平台,它为开发者提供了丰富的工具和服务,以便构建、部署和管理企业级应用程序。...

    金蝶EAS BOS代码开发常用类.pdf

    BOS开发中会使用到许多特定的类来帮助开发者编写业务逻辑代码。 首先,提到的类***mon.client.SysContext是金蝶EAS BOS中一个非常重要的上下文管理类。SysContext用于获取当前系统上下文信息,比如操作的用户、当前...

    金蝶专业版名称或代码系统中已存在错误的解决方法

    金蝶专业版名称或代码系统中已存在错误的解决方法 在金蝶专业版名称或代码系统中,可能会出现名称或代码已经在系统中被使用的错误,这个问题可能是由于期初初始数据不是由机器录入,而是由两人或两人以上操作人员...

    访问金蝶webapi自定义代码

    本文将深入探讨如何利用Web API来访问金蝶云,并编写自定义代码实现这一目标。 首先,我们要理解Web API的概念。Web API是一种基于HTTP协议的接口,允许客户端通过发送HTTP请求获取或修改服务器上的资源。金蝶云的...

    金蝶kis常用快捷键

    下面是金蝶 KIS 中常用的快捷键: Navigation 快捷键 * Enter: 在凭证或业务界面一般输入框中,回车使光标后跳一个;特殊情况下,在表格中回车则光标在单元格间依次跳转,而在多行输入框中回车则使文字换行。...

    金蝶K3CLOUD 常用SQL

    金蝶K3CLOUD 常用SQL 金蝶K3CLOUD 是一个基于云计算的企业管理软件,提供了一个完整的企业资源规划(ERP)解决方案。以下是金蝶K3CLOUD 中常用的SQL语句,涵盖了物料管理、组织管理、元数据管理、部门管理、单据...

    EAS-BOS常用代码

    本压缩包文件包含了一系列与EAS-BOS开发相关的常用代码、文档和参考资料,是开发者进行EAS-BOS开发的重要参考资料。 1. **金蝶BOSV6[1].1_核心平台API参考手册.chm**: 这是一个CHM格式的帮助文件,通常包含了EAS-...

    金蝶EAS的基本常用语句

    3. **KDTable处理**:KDTable是金蝶EAS中的数据表对象,它封装了对数据库表的操作。常用的方法有`addRow()`添加记录,`deleteRow()`删除记录,`updateRow()`更新记录,以及`loadTable()`加载数据等。 4. **事件监听...

    金蝶k3cloud常用sql

    根据给定的信息,我们可以归纳总结出与金蝶K/3 Cloud相关的多个重要知识点: ### 1. 物料查询 物料是制造业中的基础单位之一,用于标识产品或零部件。在金蝶K/3 Cloud系统中,可以使用SQL语句来查询特定的物料信息...

    K3常用SQL代码

    金蝶K3 Wise常用表结构,金蝶K3 Wise常用表结构,金蝶K3 Wise常用表结构,金蝶K3 Wise常用表结构,金蝶K3 Wise常用表结构,

    金蝶代码框架报表开发

    金蝶代码框架报表开发 金蝶代码框架报表开发是基于报表框架的开发方式,提供了一个标准的开发方式。该框架做了大部分非具体业务的工作,如打印、临时表、虚模式、数据显示、动态表头等,使得在其基础上的开发效率更...

    最全面的金蝶BOS开发指南

    而“金蝶EAS BOS代码开发常用类.pdf”则列出了在BOS开发中常见的类库和工具,提供了开发时的参考。 7. **控件使用**:在EAS系统中,控件是构建用户界面的基本元素,如表格、按钮、输入框等。开发者需要了解如何配置...

    金蝶老单或工业单据获取当前用户代码

    在金蝶系统中,这个用户代码是用于跟踪和审计操作的重要信息。 金蝶作为一款先进的企业管理软件,其核心在于提供全面的财务、供应链、生产制造及人力资源管理功能。在处理老单或工业单据时,确保数据的安全性和操作...

    EASBOS服务端常用代码

    EASBOS服务端常用代码 在EAS BOS服务端中,常用的代码可以分为多个方面,包括提交控制、权限检查、凭证生成前的控制、生成凭证、审核操作、编码规则、如何在服务端执行一段带参数的sql、如何在服务端用带参数的sql...

Global site tag (gtag.js) - Google Analytics