单据中动态加载其它页面:请先关闭当前表单
金蝶云社区-wu9531
wu9531
0人赞赏了该文章 1,438次浏览 未经作者许可,禁止转载编辑于2016年10月31日 10:34:43
做了一个二次开发,在一个单据维护页面增加了多个菜单,点击这些菜单的时候,动态加载一些标准的页面到本单据的一个面板上.
比如我一个菜单按钮的标示是tbopenl_Sl_order,点击这个菜单,在页面的一个面板显示单据标示是 Sl_order的一个列表,
然后点击另外一个菜单tbopenl_Sl_shuo,那个面板就动态加载Sl_shuo列表.
现在的问题是:
1.当第一次点击菜单时,面板正常加载列表成功,如果再次点击同一个菜单,面板加载出现问题,显示不正确。 如果点击是另外一个按钮,执行打开另外一个列表,提示请先关闭当前表单
2 上面的情况时,有一个列表自带的退出按钮,点击退出后,在动态打开列表,可以正常。
代码
if (e.BarItemKey.StartsWith("tbopent_")) //在本单据的一个面板中动态加载一个列表
{
string fbillform = e.BarItemKey.Substring("tbopenl_".Length);//获取需要打开的单据标示
string where = "";// " F_nb_khda=" + this.View.Model.DataObject["id"];设置过滤条件
IDynamicFormView v = View.GetView("F_nb_Panel");
if (v != null)
{
v.Close();
View.SendDynamicFormAction(v);
}
ListShowParameter param = new ListShowParameter
{
PageId = "F_nb_Panel",
ParentPageId = this.View.PageId,
FormId=fbillform,//单据标示
SubSystemId = this.View.OpenParameter.SubSystemId
};
param.ListFilterParameter.Filter = where;
param.OpenStyle.TagetKey = "F_nb_Panel";//目标面板
param.OpenStyle.ShowType = ShowType.InContainer;
View.ShowForm(param);
#endregion
}