金蝶云星空——获取账表的选中行数据
0. 背景说明
表单插件,捕获指定按钮的点击事件,在该点击事件中获取当前选中的账表的行记录
- 首先设置账表的单据体:允许多选
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 WeiWaiFaLiaoQingDan2
{
/// <summary>
/// 【账表表单插件】账表获取选中行
/// </summary>
[Description("【账表表单插件】账表获取选中行")]
public class GetSelectedRowsSysReportPlugIn : AbstractSysReportPlugIn
{
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.EqualsIgnoreCase("tbCreateTransfer"))
{
// SelectedDataRows存储了账表当前选中行(BOSIDE开启属性【允许多选】后,支持选中多行)
var selectedDataRows = this.SysReportView.SelectedDataRows;
if (selectedDataRows == null || selectedDataRows.Length == 0)
{
this.View.ShowMessage("没有选择任何数据,请先选择数据!");
return;
}
string msg = "";
foreach (DataRow row in selectedDataRows)
{
msg += GetDataRowFormatString(row);
}
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])));
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?