打开动态表单后获取返回值

第一种情况是打开系统已有得单据通过表单/列表形式打开,这种情况下获取返回值就比较简单,如下
ListShowParameter listShowParameter = new ListShowParameter();
listShowParameter.FormId = "ENG_BOM";
listShowParameter.MultiSelect = true;
listShowParameter.IsLookUp = true;
listShowParameter.PageId = Guid.NewGuid().ToString();
listShowParameter.ParentPageId = base.View.PageId;
listShowParameter.OpenStyle.ShowType = Kingdee.BOS.Core.DynamicForm.ShowType.Modal;
//方法2,传result返回
this.View.ShowForm(listShowParameter, delegate (FormResult result)
{
//读取返回值
object returnData = result.ReturnData;
//判断是否是RowCollection
if (returnData is ListSelectedRowCollection)
{
//如果是,执行,转换格式
ListSelectedRowCollection listSelectedRowCollection = returnData as ListSelectedRowCollection;
//如果不是空值,说明有返回值
if (listSelectedRowCollection != null)
{
List<string> bom = new List<string>();
for (int i = 0; i < listSelectedRowCollection.Count; i++)
{
//获取值.i代表第几行值
DynamicObjectDataRow datarow = (DynamicObjectDataRow)listSelectedRowCollection[i].DataRow;
bom.Add(datarow.DynamicObject["FNUMBER"].ToString());
}
//去重——因为列表中选择单据时如果单据有多行明细,这个时候你选单时把明细也选进去了这里就会返回重复得数据
for (int i = 0; i < bom.Count; i++)//外循环是循环的次数
{
for (int j = bom.Count - 1; j > i; j--)//内循环是 外循环一次比较的次数
{
if (bom[i] == bom[j])
{
bom.RemoveAt(j);
}
}
}
}
}
});第二种就是自己新建得动态表单,要获取返回值,这个时候有俩种方式,第一种方法是直接在对应单据内通过parentfrom获取到对应得数据,论坛内应该有大家可以去找一下,第二种方法是现在动态表单内传值,再在对应单据内获取,这里我们将第二种方法
动态表单内
public override void BarItemClick(BarItemClickEventArgs e)
{
base.BarItemClick(e);
if (e.BarItemKey.Equals("RZCN_Confirm"))
{
string aa = this.Model.GetValue("F_RZCN_Account").ToString() + ";" + this.Model.GetValue("F_RZCN_PassWord").ToString();
this.View.ReturnToPa打开动态表单后获取返回值
第一种情况是打开系统已有得单据通过表单/列表形式打开,这种情况下获取返回值就比较简单,如下 ListShowParameter list...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



