二开案例.列表插件.获取表格选中行

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

二开案例.列表插件.获取表格选中行

【应用场景】使用插件获取表格选中行。

【案例演示】采购订单列表,新增菜单项,获取列表的当前选中行,该示例提供了两种获取选中行的方式,分别用于列表和动态表单的场景。

【实现步骤】

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

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

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

using Kingdee.BOS.Core.List;

using Kingdee.BOS.Core.List.PlugIn;

using Kingdee.BOS.Util;

using System.ComponentModel;

using System.Linq;


namespace Jac.XkDemo.BOS.Business.PlugIn

{

    /// <summary>

    /// 【列表插件】获取表格选中行

    /// </summary>

    [Description("【列表插件】获取表格选中行"), HotUpdate]

    public class EntryGridGetSelectedRowsListPlugIn : AbstractListPlugIn

    {

        /// <summary>

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

        /// </summary>

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

        public override void BarItemClick(BarItemClickEventArgs e)

        {

            base.BarItemClick(e);


            #region 获取列表的选中行(列表)


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

            {

                var lv = this.View as IListView;

                if (lv == null)

                {

                    return;

                }


                var selectedRows = lv.SelectedRowsInfo;

                if (selectedRows == null || selectedRows.Count == 0)

                {

                    this.View.ShowMessage("当前没有行被选中!");

                    return;

                }


                var rowIndexs = string.Join(",", selectedRows.Select(o => o.RowKey));

                this.View.ShowMessage("当前选中行:" + rowIndexs);

            }


            #endregion


            #region 获取数据表格的选中行(动态表单)


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

            {

                var grid = this.View.GetControl<EntryGrid>("FList");

                var selectedRows = grid.GetSelectedRows();

                if (selectedRows == null || selectedRows.Length == 0)

                {

                    this.View.ShowMessage("当前没有行被选中!");

                    return;

                }


                var rowIndexs = string.Join(",", grid.GetSelectedRows());

                this.View.ShowMessage("当前选中行:" + rowIndexs);

            }


            #endregion

        }

    }

}


<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。


<3>BOSIDE扩展采购订单,列表菜单集合上添加2个菜单项,注册列表插件,保存元数据,开发完毕。



现在可以登录业务站点,打开采购订单列表界面,检验一下插件效果啦。

通过列表视图获取当前选中行:

通过表格控件获取当前选中行:














【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696

二开案例.列表插件.获取表格选中行

【应用场景】使用插件获取表格选中行。【案例演示】采购订单列表,新增菜单项,获取列表的当前选中行,该示例提供了两种获取选中行的方式,...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息