通过报表字段授权可以让某张开发的报表某列以*号显示,写在这个方法里面public override ReportHeader GetReportHeaders(IRptParams filter)
var businessInfo = MetaDataServiceHelper.GetFormMetaData(this.Context, formId).BusinessInfo;
for (int i = 0; i < datas2.Tables[0].Rows.Count; i++)
{
BusinessObject permissonObject = new BusinessObject()
{
PermissionControl = businessInfo.GetForm().SupportPermissionControl,
Id = formId
};
var authResult = PermissionServiceHelper.GetAllowFieldList(this.Context, permissonObject, FieldInv.View);
bool isAllow = authResult.Any(f => f.FieldAllow(datas2.Tables[0].Rows[i]["FFieldName"].ToString()));
if (isAllow)
{
//有权限查看
代码。。。
}
else
{
//没有权限查看
代码。。。
}
}
引用有点多大家自行删除吧!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core;
using Kingdee.BOS.DataEntity;
using Kingdee.BOS.Core.Report;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.Core.Report.PlugIn.Args;
using Kingdee.BOS.Core.List;
using Kingdee.BOS.Contracts.Report;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS.ServiceHelper;
//公共过滤引用
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.ControlElement;
using Kingdee.BOS.Core.Metadata.FieldElement;
using Kingdee.BOS.Core.CommonFilter;
using Kingdee.BOS.Core.CommonFilter.PlugIn;
using Kingdee.BOS.Core.CommonFilter.PlugIn.Args;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core.SqlBuilder;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Orm.Metadata.DataEntity;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.App;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Bill;
using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Kingdee.BOS.Orm.DataEntity;
using Kingdee.BOS;
using Kingdee.BOS.JSON;
using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel;
using Kingdee.BOS.Orm.Metadata.DataEntity;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Core.DynamicForm;
using Kingdee.BOS.ServiceHelper;
using Kingdee.BOS.App;
using Kingdee.BOS.Contracts;
using Kingdee.BOS.Core;
using Kingdee.BOS.Core.Bill;
using Kingdee.BOS.Core.Bill.PlugIn;
using Kingdee.BOS.Core.Interaction;
using Kingdee.BOS.Core.Metadata;
using Kingdee.BOS.Core.Metadata.EntityElement;
using Kingdee.BOS.Core.Metadata.FormElement;
using Kingdee.BOS.Orm;
using System.ComponentModel;
using Kingdee.BOS.BusinessEntity.BusinessFlow;
using System.Net;
using System.IO;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.Permission;