NC开发疑难解答与技巧集萃:字段隐藏、线程处理与邮件发送

需积分: 29 11 下载量 23 浏览量 更新于2024-07-16 收藏 147KB DOC 举报
NC开发常见问题记录文档详细列举了在进行NC(NetCollex)开发时可能会遇到的一系列问题及其解决方案。NC是一款企业级的业务流程自动化软件,主要用于管理业务流程、单据处理和报表生成等。 1. **表头字段不可见**: 在设计表单或报表时,通过`getHeadItem("").setShow(false)`可以隐藏表头字段。若希望在某些场景下显示0.00金额但不影响其可见性,可以在单据中使用`getBillCardPanel().getBodyPanel().getRendererVO().setShowZeroLikeNull(false)`,而在报表中则相反,设置`getReportBase().getBodyPanel().getRendererVO().setShowZeroLikeNull(true)`来控制是否以空白显示0.00。 2. **查询过程中的提示**: 当进行耗时的数据库查询操作时,为了提高用户体验,可以使用线程并发技术,如创建一个`Runnable`对象`checkRun`,并在其中包含查询逻辑和`BannerDialog`对话框,以便在后台执行并显示"请等待.."的提示,确保用户界面的流畅性。执行时通过`new Thread(checkRun).start()`启动线程。 3. **发送邮件功能**: NC提供了邮件发送功能,通过`MailTool.sendHtmlEmail()`方法,可以设置SMTP服务器地址、发件人信息、收件人列表、邮件主题、HTML内容以及附件名,实现邮件的自动化发送。 4. **列表表体的事件监听**: 为了实时响应列表表体的操作,如编辑事件,可以添加`afterEdit`监听器到`getBillListPanel().getBodyScrollPane("页签表名")`,当表体发生编辑时,会触发`BillEditEvent e`,并执行相应的处理逻辑。 5. **数据排序与定制**: 通过`getBillListPanel().getBodyBillModel().setSortColumn("recordnum")`,可以指定按"recordnum"字段进行排序。如果希望反向排序,则设置`getBillListPanel().getBodyBillModel().getSortColumns().get(0).setAscending(false)`。 6. **表头的最大化设置**: 提供了设置表头最大化的API,具体方法未在提供的部分内容中给出,但通常情况下,这涉及到调整组件大小或布局管理器,以适应不同的屏幕和视图需求。 这些知识点覆盖了NC开发中常见的用户界面交互、数据处理、并发控制和基础通信功能的实现,有助于开发者在实际项目中高效解决遇到的问题。