单据体内的多选基础资料字段实现链接效果

【应用场景】
已审核单据,单据体内的多选基础资料字段无法实现点击单元格弹出列表的功能,不方便单据查看
通过二开实现,方便单据查看
【注意事项】
需要单元格处于锁定状态
【案例演示】

【实现步骤】
<1>编写表单插件,代码如下。
#region 单据体内的多选基础资料实现链接功能
public override void EntryButtonCellClick(EntryButtonCellClickEventArgs e)
{
base.EntryButtonCellClick(e);
ShowMulBaseDateList(e);
}
/// <summary>
/// 单据体内的多选基础资料实现超链接功能
/// 业务对象xml里多选基础资料字段外观需要加上
/// <ListColumnStyle>1</ListColumnStyle>
/// <BlAppLstColStyle>1</BlAppLstColStyle>
/// </summary>
/// <param name="e"></param>
private void ShowMulBaseDateList(EntryButtonCellClickEventArgs e)
{
if (e.FieldKey.EqualsIgnoreCase("F_Jac_MulBase_83g"))
{
e.Cancel = true;
ILookUpField field = this.View.BusinessInfo.GetField("F_Jac_MulBase_83g") as ILookUpField;
if (field == null) return;
FieldAppearance ap = ap = this.View.LayoutInfo.GetFieldAppearance("F_Jac_MulBase_83g");
DynamicFormShowParameter parameter = null;
DynamicObject activeRow = this.Model.GetEntityDataObject(((Field)field).Entity, e.Row);
parameter = field.GetLookUpListParameter(this.Model, activeRow);
parameter.ParentPageId = this.View.PageId;
parameter.MultiSelect = false;
string strCaption = ap.Caption;
BaseDataField baseDatafield = ap.Field as BaseDataField;
if (baseDatafield != null && baseDatafield.LookUpObject != null
&& baseDatafield.LookUpObject.Name != null && !baseDatafield.LookUpObject.Name.Equals(strCaption))
{
strCaption += string.Format("({0})", baseDatafield.LookUpObject.Name);
}
if (baseDatafield == null || baseDatafield.LookUpObject == null) return;
dynamic baseValue = this.Model.GetValue(baseDatafield.Key, e.Row);
DynamicFormShowParameter listpara = null;
string strPermissionItemId = "";
if (parameter != null && parameter is ListShowParameter)
{
listpara = parameter;
}
else
{
listpara = new ListShowParameter()
{
FormId = baseDatafield.LookUpObject.FormId
};
}
if (baseDatafield.LookUpObject.PermissionControl == 1)
{
strPermissionItemId = GetFormPermissionItemId(baseDatafield.LookUpObject.FormId, FormOperationEnum.View.ToString());
}
//打开的列表中只显示已选择的数据记录
var baseValueCollection = baseValue as DynamicObjectCollection;
if (b单据体内的多选基础资料字段实现链接效果
【应用场景】已审核单据,单据体内的多选基础资料字段无法实现点击单元格弹出列表的功能,不方便单据查看通过二开实现,方便单据查看【注意...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



