- 浏览: 90092 次
- 性别:
- 来自: 宁波
最新评论
-
luchenqun:
...
java二进制文件与字节之间的转化 -
luchenqun:
...
java二进制文件与字节之间的转化 -
xy0792:
leing 写道请问代码实现botp生成目标单据后,怎么调用目 ...
服务端直接调用BOTP -
leing:
请问代码实现botp生成目标单据后,怎么调用目的单的审核功能呢 ...
服务端直接调用BOTP -
zhaoyubetter:
EntityViewInfo evi = new Entity ...
常用代码1:过滤及查询
转自http://121.32.28.234:8800/kdwiki/index.php?edition-view-36-4.html
如何使得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(KDTable table, boolean isAddRow, Action actionAfterAddRow)
如何设置KDTable Tab键和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(KDTable table, 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新增行
方法一:
//增行
EmpEnrollBizBillEntryInfo entry = new EmpEnrollBizBillEntryInfo();//创建分录的实体
entry.setEmpName(name);//设置实体属性
entry.setIDCardNo(id);
editData.getEntrys().add(entry);//将实体新增到editData的实体列表中。
loadFields();//重新加载分录信息
方法二:
//增行
addLine(kdtEntries);
IRow newRow = kdtEntries.getRow(kdtEntries.getRowCount()-1);//获取新增的行对象
//设置分录的实体
newRow.setUserObject(new ReceivingBillEntryInfo());
//设置分录实体的属性
newRow.getCell("Band").setValue(obei.getBand());//品牌
newRow.getCell("ProductSeries").setValue(obei.getProductSeries());//产品线
newRow.getCell("Period").setValue(obei.getPeriod());//期数
发表评论
-
EAS系统F7控件树形显示
2014-04-29 12:07 5682最近有个需求,需要用F7选择客户组别,物料组别、供应商组别 ... -
KDComboBox/JComboBox选择事件执行2次问题
2014-03-31 15:31 1559在监听KDComboBox的时候 ... -
控制editui打开的方式
2013-07-02 14:26 1347List有一个方法可以控制editui打开的方式,是以页签还是 ... -
EAS报表读写分离
2013-03-04 14:56 2179当系统数据越来越庞大时,打开报表的速度会越来越慢,所以才会出 ... -
扩展报表实现一个特殊过滤
2013-01-23 15:03 1283有个报表如下: 产品 是否保税 A ... -
EAS热部署
2013-01-02 09:19 1405EAS服务部署需要时间很长,如使用了群集,启动更慢,一般部署一 ... -
EAS查看组织树形结构
2012-12-06 09:43 2056select t.fnumber, ... -
代码学习
2012-11-09 14:21 01、EditUI 是否BOTP下推 int openMod ... -
EAS套打扩展报表工作流PDF
2012-07-26 11:24 1887套打扩展报表PDF -
懒人配置动特殊数据权限,dom4j解析元数据
2012-07-14 12:49 1486dom4j下载:http://sourceforge.net/ ... -
如何实现EAS的【拥有者权限】和【主管权限】
2012-07-14 10:52 3446[size=6][b]如何实现EAS的 ... -
F7调出组织多选
2012-07-05 14:34 1264系统有个物料收发事务汇总报表,F7选库存组织的时候,出现以下界 ... -
字符相似度比较
2012-06-19 09:53 1806最近项目有个问题,客户重复,比如**市A有限公司,**A有限公 ... -
eas引用控制
2012-06-16 16:47 1163eas无外键,如果需要校验是否被引用,只要在下表中插入一条数据 ... -
F7可选可输入,保存为文本,非外键
2012-06-03 09:27 987ExtendParser parserStatus = new ... -
导出自定义菜单
2012-05-05 09:50 1011t_pm_mainmenuitem是菜单表,一般BIM开头的菜 ... -
filter&adminserver
2012-04-26 16:40 9221、filter可以写函数: filter.getFi ... -
后台调用编码规则
2012-04-12 09:59 1911// 如果单据编码为空,则调用编码规则生成一个编码,否则不能通 ... -
通过BOSType找EditUI
2011-10-12 13:28 1386/* 112 */ IMetaDataLoader l ... -
test
2011-06-03 15:57 851DynamicObjectFactory.getLocalIn ...
相关推荐
**BOS开发中的KDTable处理代码详解** 在企业应用系统开发中,BOS(Business Object Service)是一个常用的技术框架,用于构建业务逻辑层。KDTable是BOS开发中的一种组件,用于展示和编辑表格数据。它提供了丰富的...
这份文档详细列出了在开发EAS-BOS客户端时常用的代码片段,包括用户界面交互、数据处理、网络通信等方面。了解并掌握这些代码,能够提高开发效率,解决客户端开发中的常见问题。 3. **常用代码_客户端1(o).doc**、...
在CAD(计算机辅助设计)与Excel(电子表格处理)这两个看似不相干的领域之间,KDTable1.1提供了一个高效且便捷的桥梁,使得工程数据的处理和管理变得更加简单。这款软件的核心功能集中在CAD表格与Excel之间的无缝...
在IT行业开发中,表格控件是用户界面设计中不可或缺的一部分,用于显示和处理数据。...通过掌握KDTable的使用,开发者可以更高效地构建复杂、功能丰富的数据展示和处理界面,大幅度提高开发效率和应用性能。
其中,KDTable是该系统中一个非常重要的表格组件,用于处理数据展示与交互。 ### KDTable组件概述 KDTable组件基于`javax.swing.JComponent`类,是一种可自定义的表格控件,用于在金蝶EAS应用程序中展示和编辑数据...
在提供的代码片段中,我们看到了如何设置和使用kdtable的虚模式加载数据。首先,通过执行SQL语句获取数据,这里的SQL语句是用于从`T_BD_AccountView`表中选取特定字段。然后将查询结果转换为`List, Object>>`列表,...
3. **KDTable处理**:KDTable是金蝶EAS中的数据表对象,它封装了对数据库表的操作。常用的方法有`addRow()`添加记录,`deleteRow()`删除记录,`updateRow()`更新记录,以及`loadTable()`加载数据等。 4. **事件监听...
2. 数据处理,使用 KDTableUtil 类辅助把 RptRowSet 数据显示在 KDTable 中,并提供了用户修改/计算数据处理的接口 3. 单元格显示格式,可以使用自定义格式,使用方法是设置表头格式 4. 动态表头的处理,提供了自动...
KDTable是金蝶自主研发的数据展示和操作控件,它可以方便地在界面上显示和处理数据表格。这个控件支持多种数据源,包括数据库、XML文件等,并且提供了丰富的功能,如排序、筛选、分页、编辑等,使得开发者能够快速...
对于数据处理,`KDTableUtil`类提供了便利,它能够帮助将`RptRowSet`数据展示在`KDTable`中,并提供了用户修改和计算数据的接口。例如,可以使用`insertRows`方法插入新行,并通过`KDTableInsertHandler`接口自定义...
3. **KDTable对象**:`KDTable`是BOS中表示表格数据的对象,它提供了一系列方法来操作表格数据,如获取行数(`getRowCount()`)、获取单元格值(`getCell()`)等。在代码中,`pluginCtx.getKDTable("kdtEntries")`获取了...
`4.5KDTable控件.doc`文档应该详细介绍了KDTable的使用方法、属性设置、事件处理以及如何与后台数据交互。 2. **JAVA编码规范**:在进行EAS BOS开发时,遵循统一的编程规范至关重要,它能确保代码的质量和可维护性...
它与套打不同,不在本文讨论范围内,更多信息可查阅框架和KDTable控件的相关说明。 **1.2 套打管理中的文件类型** 1.2.1 **KDF(kdrs-form)** 这是传统的套打模板格式,对应*.kdrs-form文件。不推荐使用,未来将...
1. KDTable控件的使用:KDTable是继承于JComponent的一个表格控件,它集合了Ledger、KDGrid、KDSpread、JTable和Excel等多种表格功能需求。支持数据显示与编辑,能够灵活更换显示器(Renderer)和编辑器(Editor),...
在对EAS(Enterprise Application ...同时,为了确保套打功能的正确执行,开发者还需要熟悉EAS系统中相关的框架和控件,比如KDTable控件的说明等。通过上述指南,开发者可以高效、准确地完成套打功能的二次开发工作。
- **简介**:KDTable 是一种用于显示数据的表格控件,可以处理大量的数据记录,并提供排序、筛选等功能。 - **使用指南**: - **创建表格**:首先需要在界面上添加一个 KDTable 控件,可以通过拖拽的方式将其放置在...
- 需要特别注意的是,在处理大量数据时,应考虑性能优化问题,避免因数据加载过慢而影响用户体验。 #### 四、总结 《BOS V6.2开发指南_控件.pdf》提供了丰富的控件使用信息和技术细节,对于正在使用金蝶BOS V6.2...
用户界面部分指导开发者如何在BOS平台上设计和构建用户界面,包括新建用户界面、KDTable的重新绑定、创建Action、定义控件属性、创建MenuBar、ToolBar、DataObject以及Status等。 功能和业务功能的定义部分告诉...
BOSStudio可能允许开发人员创建用户界面,并进行各种配置,例如KDTable的重新绑定、创建Action、定义控件属性、创建MenuBar、ToolBar、DataObject和Status等。 9. 功能(Façade)的定义:在面向对象编程中,门面...
com.kingdee.bos.ui.dtp.kdtable com.kingdee.bos.ui.dtp.model com.kingdee.bos.ui.dtp.model.layout com.kingdee.bos.ui.face com.kingdee.bos.ui.StateManage com.kingdee.bos.ui.util ...