UDN-企业互联网技术人气社区

板块导航

浏览  : 4636
回复  : 16

[RIA] NC65公式编辑器实现

[复制链接]
UAP_菜鸟的头像 楼主
发表于 2017-3-6 19:11:42 | 显示全部楼层 |阅读模式
50U币
项目中自己单据的参照想点击后实现弹出编辑器如下图

QQ图片20170306191046.png
UAP_菜鸟的头像 楼主
发表于 2017-3-6 19:12:48 | 显示全部楼层
1. 实现点击自定义项后弹出公式编辑器
2. 在取数函数列显示自己的自定义参照
使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-6 19:13:38 | 显示全部楼层
http://udn.yyuap.com/forum.php?m ... 4035&highlight=编辑器
刚才看到了这个帖子,但是 没看懂,能详细有人懂的教教
@benbenxiong @展翔 @丁浩真   跪求各位大侠
点评 ( 2 ) 收起 / 展开点评

UAP_菜鸟 2017年03月07日 09:40 详情 回复

好的好的....

benbenxiong 2017年03月07日 09:09

你好,我先问题一下,如有人懂会有人上来解答,

使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-7 09:40:07 | 显示全部楼层
UAP_菜鸟 发表于 2017-3-6 19:13
http://udn.yyuap.com/forum.php?mod=viewthread&tid=44035&highlight=编辑器
刚才看到了这个帖子,但是 没 ...

好的好的....
使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-7 11:55:38 | 显示全部楼层
没有人吗 帮忙来看看
使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-7 17:42:41 | 显示全部楼层
package com.ufsoft.iufo.fmtplugin.formula;

import nc.ui.pub.bill.BillItem;
import nc.ui.pubapp.uif2app.view.ShowUpableBillForm;

public class FormulaBillForm extends ShowUpableBillForm {
    private static final long serialVersionUID = 1L;
   
    private String itemString;
   
    public String getItemString() {
       return itemString;
    }
    public void setItemString(String itemString) {
       this.itemString = itemString;
    }
    public void initUI() {
         super.initUI();
         BillItem formulaItem = this.getBillCardPanel().getHeadItem(itemString);
       formulaItem.setComponent(new DefultFormulaRef());
    this.getBillCardPanel().setBillData(this.getBillCardPanel().getBillData());
    }

}
使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-7 17:43:10 | 显示全部楼层
package com.ufsoft.iufo.fmtplugin.formula;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import nc.ui.pub.beans.UIDialog;
import nc.ui.pub.beans.UIRefPane;
import nc.ui.pub.formulaedit.FormulaEditorDialog;
import nc.ui.pub.formulaparse.FormulaParse;
import nc.vo.pub.formulaset.FormulaParseFather;

public class DefultFormulaRef extends UIRefPane {
    private static final long serialVersionUID = 1L;
    public DefultFormulaRef() {
       super();
       init();
    }
    private void init() {
       ActionListener[] ls = getUIButton().getActionListeners();
       if (ls != null) {
           for (ActionListener listener : ls) {
              getUIButton().removeActionListener(listener);
           }
       }
       getUIButton().addActionListener(new DFAction());
       getUITextField().setEditable(false);
    }
    private class DFAction implements ActionListener {
       @Override
       public void actionPerformed(ActionEvent e) {
           FormulaEditorDialog fedlg = getFormulaSetDlg();
           fedlg.setFormulaDesc(getUITextField().getText());
           if (fedlg.showModal() == UIDialog.ID_OK) {
//              Logger.debug("开始计算对象标识....注意设置的公式只对对象标识列有效!");
              String strformula = fedlg.getFormulaDesc();
              DefultFormulaRef.this.setText(strformula);
           }
       }
    }
    private FormulaEditorDialog getFormulaSetDlg() {
       FormulaEditorDialog m_formSetDlg = new FormulaEditorDialog(this,
              getFormulaParse());
       m_formSetDlg.setFormulaDesc("ReflectValue->");
       return m_formSetDlg;
    }
    private FormulaParseFather getFormulaParse() {
       FormulaParseFather formulaParser = new FormulaParse();
       return formulaParser;
    }
}
使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-7 17:43:25 | 显示全部楼层
<bean id="billForm" class="com.ufsoft.iufo.fmtplugin.formula.FormulaBillForm"
        init-method="initUI">
                <property name="model"><ref bean="bmModel" /></property>
                <property name="itemString" value="def1" ></property>
                <property name="templateContainer" ref="templateContainer"/>
                <property name="showOrgPanel" value="true"/>
                <property name="nodekey" value="bt" />
                <property name="autoAddLine" value="false"/>
                <!-- 表体行操作按钮注册,这只是一组默认设置,开发人员需要自己在此添加其他需要的表体行操作按钮 -->
                <property name="bodyLineActions">
                        <list>
                                <bean class="nc.ui.pubapp.uif2app.actions.BodyAddLineAction" />
                                <bean class="nc.ui.pubapp.uif2app.actions.BodyInsertLineAction" />
                                <bean class="nc.ui.pubapp.uif2app.actions.BodyDelLineAction" />
                        </list>
                </property>
        </bean>
使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-7 17:43:46 | 显示全部楼层
本帖最后由 UAP_菜鸟 于 2017-3-7 17:45 编辑

写了两个类  加了一个xml文件 但是还是不行 帮看看,点击之后还是走的原来的参照
使用道具 举报

回复

UAP_菜鸟的头像 楼主
发表于 2017-3-7 20:31:33 | 显示全部楼层
UAP_菜鸟 发表于 2017-3-6 19:13
http://udn.yyuap.com/forum.php?mod=viewthread&tid=44035&highlight=编辑器
刚才看到了这个帖子,但是 没 ...

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们
联系我们
  • 电话:010-86393388
  • 邮件:udn@yonyou.com
  • 地址:北京市海淀区北清路68号
移动客户端下载
关注我们
  • 微信公众号:yonyouudn
  • 扫描右侧二维码关注我们
  • 专注企业互联网的技术社区
版权所有:用友网络科技股份有限公司82041 京ICP备05007539号-11 京公网网备安1101080209224 Powered by Discuz!
快速回复 返回列表 返回顶部