电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

二开案例.列表插件.列表调用保存操作

来源:金蝶云社区作者:金蝶2024-09-2316

二开案例.列表插件.列表调用保存操作

【应用场景】使用列表插件,在列表上调用单据的保存操作。

【案例演示】采购订单,列表界面,主菜单新增保存菜单,实现对列表选中行调用单据保存操作。

【实现步骤】

<1>编写列表插件,代码如下。

using Kingdee.BOS.Core.DynamicForm;

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;

using Kingdee.BOS.Core.List.PlugIn;

using Kingdee.BOS.Core.Validation;

using Kingdee.BOS.ServiceHelper;

using Kingdee.BOS.Util;

using System.ComponentModel;

using System.Linq;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【列表插件】列表调用保存操作

    /// </summary>

    [Description("【列表插件】列表调用保存操作"), HotUpdate]

    public class ListInvokeSaveOperationListPlugIn : AbstractListPlugIn

    {

        /// <summary>

        /// 列表主菜单点击事件

        /// </summary>

        /// <param name="e"></param>

        public override void BarItemClick(BarItemClickEventArgs e)

        {

            base.BarItemClick(e);

            if (e.BarItemKey.EqualsIgnoreCase("tbSave"))

            {

                if (this.ListView.SelectedRowsInfo == null || this.ListView.SelectedRowsInfo.Count == 0)

                {

                    this.View.ShowMessage("没有选择任何数据,请先选择数据!");

                    return;

                }


                var selectedIds = this.ListView.SelectedRowsInfo.Select(o => (object)o.PrimaryKeyValue).Distinct().ToArray();

                var selectedBillNos = string.Join(",", this.ListView.SelectedRowsInfo.Select(o => (object)o.BillNo).Distinct());

                var dataObjects = BusinessDataServiceHelper.Load(this.Context, selectedIds, this.View.BillBusinessInfo.GetDynamicObjectType());

                foreach (var dataObject in dataObjects)

                {

                    // 修改采购订单的变更原因

                    dataObject["ChangeReason"] = "666";

                }


                var result = BusinessDataServiceHelper.Save(this.Context, this.View.BillBusinessInfo, dataObjects);

                if (result.IsSuccess)

                {

                    this.View.ShowMessage(string.Format("单据【{0}】保存成功!", selectedBillNos));

                }

                else

                {

                    // 操作失败,弹窗显示操作结果

                    FormatOperateResultValidationInfo(result);

       

二开案例.列表插件.列表调用保存操作

【应用场景】使用列表插件,在列表上调用单据的保存操作。【案例演示】采购订单,列表界面,主菜单新增保存菜单,实现对列表选中行调用单据...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信