二开案例.表单插件.账表获取选中行

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

二开案例.表单插件.账表获取选中行

【应用场景】

在账表中,获取选中行的数据包。


【案例演示】

采购订单执行明细表,获取选中行的数据包。


【实现步骤】

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

using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.Util;
using System.ComponentModel;
using System.Data;
using System.Linq;
namespace Jac.XkDemo.BOS.Report.PlugIn
{
    /// <summary>
    /// 【账表表单插件】账表获取选中行
    /// </summary>
    [Description("【账表表单插件】账表获取选中行"), HotUpdate]
    public class GetSelectedRowsSysReportPlugIn : AbstractSysReportPlugIn
    {
        public override void BarItemClick(BarItemClickEventArgs e)
        {
            base.BarItemClick(e);
            if (e.BarItemKey.EqualsIgnoreCase("test"))
            {
                // SelectedDataRows存储了账表当前选中行(BOSIDE开启属性【允许多选】后,支持选中多行)
                var selectedDataRows = this.SysReportView.SelectedDataRows;
                if (selectedDataRows == null || selectedDataRows.Length == 0)
                {
                    this.View.ShowMessage("没有选择任何数据,请先选择数据!");
                    return;
                }
                var selectedRow = selectedDataRows[0];
                var msg = GetDataRowFormatString(selectedRow);
                this.View.ShowMessage("当前选中行数据包:" + msg);
            }
        }
        private string GetDataRowFormatString(DataRow row)
        {
            return string.Join(",", row.Table.Columns.Cast<DataColumn>().Select(co => string.Format("{0}:{1}", co.ColumnName, row[co.ColumnName])));
        }
    }
}



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


<3>BOSIDE扩展采购订单执行明细表,注册表单插件,保存元数据,开发完毕。

---------------------------------------------------------------------------------------------------------













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

二开案例.表单插件.账表获取选中行

【应用场景】在账表中,获取选中行的数据包。【案例演示】采购订单执行明细表,获取选中行的数据包。【实现步骤】<1>编写表单插件,代码如...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息