【K3Cloud】弹窗系列

如何父窗口向子窗口传递参数
showParameter.CustomParams.Add("参数名",value);
如何在子窗口接收父窗口参数
1.View.ParentFormView.OpenParameter.GetCustomParameter("参数名");
2.e.Paramter.GetCustomParameter("参数名"); //在OnInitialize事件中获取参数
如何在父窗口接收子窗口的返回参数
//子窗口插件
public override void BeforeClosed(BeforeClosedEventArgs e)
{
base.BeforeClosed(e);
this.View.ReturnToParentWindow(new FormResult("返回参数"));
}
//父窗口插件
this.View.ShowForm(showParameter,(FormResult frt)=>{
var value = frt.ReturnData;
});
如何关闭打开的视图
IDynamicFormView myView = View.GetView("parameter的PageId");
if (myView != null)
{
myView.Close();
View.SendDynamicFormAction(myView);
}
1.应用场景:移动单据列表单击弹出移动表单
if(ListView.CurrentSelectedRowInfo != null && ListView.CurrentSelectedRowInfo.PrimaryKeyValue != null){
MobileShowParameter showParameter = new MobileShowParameter();
showParameter.FormId = "移动表单标识";
showParameter.PKey = ListView.CurrentSelectedRowInfo.PrimaryKeyValue;
showParameter.ParentPageId = this.View.PageId;
this.View.ShowForm(showParameter,(res)=>{
View.Refresh();
});
}
2.应用场景:PC单据弹窗
private void ShowBill(string formId,string billNo){
//根据单据编号到数据库中读取单据内码
QueryBuilderParemeter queryParam = new QueryBuilderParemeter();
queryParam.FormId = formId;
queryParam.SelectItems.Add(new SelectorItemInfo("FID"));
queryParam.FilterClauseWihtKey = $" FBILLNO = '{billNo}' ";
var objs = QueryServiceHelper.GetDynamicObjectCollection(this.Context, queryParam);
if (objs != null && objs.Count > 0)
{
long billId = Convert.ToInt64(objs[0][0]);
BillShowParameter parameter = new BillShowParameter();
parameter.FormId = formId;//必填
parameter.Status = OperationStatus.VIEW;//必填。设置打开单据的状态,比如查看、修改。
parameter.PKey = billId.ToString();//如果不是新增状态,为必填。
parameter.CustomParams.Add("参数名",value);//传参
View.ShowForm(parameter);
}
}
3.应用场景:PC列表弹窗
private void ShowList(string formId,string containerKey){
ListShowParameter parameter = new ListShowParameter();
parameter.FormId = formId;//必填
parameter.OpenStyle.ShowType = ShowType.Modal;//打开方式 Modal[新窗口打开,不需要容器key];InContainer[容器中打开,需要传入容器key];NewTabPage[页签中打开,需要传入页签key]
parameter.OpenStyle.TagetKey = containerKey;//需要显示列表的容器标识:面板、页签
parameter.ListFilterParameter.Filter = "FID
【K3Cloud】弹窗系列
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



