通过选中报表数据打开新增单据页面,批量添加数据

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

通过选中报表数据打开新增单据页面,批量添加数据

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");

通过选中报表数据打开新增单据页面,批量添加数据

1、首先设置报表可以多选2、获取报表选中数据DataRow[] selectedDataRows = this.SysReportView.SelectedDataRows;3、获取选中数据添加...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息