• [K/3Cloud]实现双击列表行后显示具体的某个单据明细。


    列表插件重写void ListRowDoubleClick(ListRowDoubleClickArgs e)事件,在事件中处理具体逻辑,具体代码如下

    public override void ListRowDoubleClick(Core.List.PlugIn.Args.ListRowDoubleClickArgs e)
            {
                base.ListRowDoubleClick(e);
                BillShowParameter param = new BillShowParameter();
                param.FormId = "PUR_PurchaseOrder"; //业务对象唯一标识,采购订单为例;
                param.OpenStyle.ShowType = ShowType.MainNewTabPage; //新页签方式打开;
                param.Status = OperationStatus.EDIT; //打开单据状态为修改
                param.ParentPageId = this.View.PageId;
                param.PKey = this.ListView.CurrentSelectedRowInfo.PrimaryKeyValue;  //主键值,就是单据内码啦
                param.LayoutId = this.ListView.CurrentSelectedRowInfo.LayoutID;
                this.View.ShowForm(param);
            }

    还有一种是打开一个URL。

    public override void ListRowDoubleClick(Kingdee.BOS.Core.List.PlugIn.Args.ListRowDoubleClickArgs e)
            {
                base.ListRowDoubleClick(e);
                e.Cancel = true;
                //JSONArray paras = new JSONArray();
                //JSONObject jo = new JSONObject();
                //jo["url"] = "http://www.baidu.com"; /// 如果是本网站相对路径,就不要加http://
                //jo["title"] = "百度-Open";
                //paras.Add(jo);
                //this.View.AddAction("OpenUrlWindow", paras);
            }

    也可以使用ShowForm来实现这种场景,看下面的例子:

    BillShowParameter param = new BillShowParameter
                {
                    FormId = ConstTag.HR_JS_GradeSeq,
                    PageId = Guid.NewGuid().ToString()
                };
                param.CustomParams.Add("JSSchemeId", ret[0]["FJSSchemeId"].ToString());
                param.CustomParams.Add("FGradeId", selectedRow.PrimaryKeyValue);
                param.OpenStyle.ShowType = ShowType.Default;
                this.View.ShowForm(param);

    必要的解释:
    1FormId是你需要显示的表单的唯一标识。pageid赋一个guid就可以了。
    2.param.customParams是一个字符串参数的集合,这里传入一些参数后可以在SHow出的表单中根据key来获取对应的参数。
    3.ShowType是显示类型,ShowType.Default默认显示为弹窗模式。当然你可以显示其他的模式,自己写一下就知道了。
    新显示的窗体可以用OpenParameter接受你传递的参数,下面是例子:

    public override void OnLoad(EventArgs e)
            {
                Int64 schemeid = this.View.OpenParameter.GetCustomParameter("JSSchemeId").ConvertTo<Int64>(0);
                Pkid = this.View.OpenParameter.GetCustomParameter("FGradeId").ConvertTo<Int64>(0);
            }


  • 相关阅读:
    声明
    Random类——获取随机数
    JDK_API的使用方法
    Ajax?有谁开始学习了吗?
    用xslt循环xml同一节点的不同子节点
    在Repeater控件中嵌套一个Repeater控件
    html+css的一些技巧.收集中...
    记录一下: onbeforeunload()方法, 避免未保存而关闭页面.
    简单的C# Socket编程
    不实用的UriBuilder类
  • 原文地址:https://www.cnblogs.com/fyq891014/p/3308528.html
Copyright © 2020-2023  润新知