通过选中报表数据打开新增单据页面,批量添加数据
1、首先设置报表可以多选
2、获取报表选中数据
DataRow[] selectedDataRows = this.SysReportView.SelectedDataRows;
3、获取选中数据添加到集合中
foreach (DataRow dataRow in selectedDataRows)
{
object [] data = dataRow.ItemArray;
List<object> dataList = data.ToList();
listData.Add(dataList);
}
4、打开添加单据页面
var showParam = new BillShowParameter();
showParam.FormId = "XDUA_YQTFHSJ";
showParam.Status = OperationStatus.ADDNEW;
showParam.PageId = Guid.NewGuid().ToString();
showParam.OpenStyle.ShowType = ShowType.MainNewTabPage;
showParam.CustomComplexParams.Add("listDatas", listData);
this.View.ShowForm(showParam);
5、添加页面获取到选中数据集合,往单据体中赋值,选中几条,单据体中就添加几条数据
EntryEntity entryEntity = this.View.BusinessInfo.GetEntryEntity("FEntity");
DynamicObjectCollection entryRows = this.View.Model.GetEntityDataObject(entryEntity);
entryRows.Clear(); //先清空单据体,重新赋值
Dictionary<string, object> list = this.View.OpenParameter.GetCustomParameters();
object data = list["listDatas"];
if (data is List<object> listObject)
{
foreach (var item in listObject){
DynamicObject model = new DynamicObject(entryRows.DynamicCollectionItemPropertyType);
model["FDDH"] = ((List<object>)item)[2].ToString();//获取传过来数据添加到Model中
entryRows.Add(model);
}
}
this.View.UpdateView("FEntity");
通过选中报表数据打开新增单据页面,批量添加数据
本文2024-09-16 17:38:20发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-16990.html