当用户需要限制报表的功能,例如:在预览模式下从列表中删除无用的导出格式,这可以应用程序的代码中完成。编写删除报表对象的命令如下:
No.1:需要在已注册对象的集合中查找指定的对象,然后删除该对象。
private void RemoveRegistered(Type type) { ObjectInfo obj = RegisteredObjects.FindObject(type); RegisteredObjects.Objects.Items.Remove(obj); }
No.2:调用此方法,要删除已注册的对象,只需传递对象类型即可。PS:必须在创建Report对象后删除对象,否则在删除后,将在空集合中搜索对象。
RemoveRegistered(typeof(FastReport.Export.LaTeX.LaTeXExport)); RemoveRegistered(typeof(FastReport.Export.Zpl.ZplExport)); RemoveRegistered(typeof(FastReport.Export.Svg.SVGExport)); RemoveRegistered(typeof(FastReport.Export.Dbf.DBFExport));
另一种禁用对象的方法:
private void DisableRegistered(Type type) { ObjectInfo obj = RegisteredObjects.FindObject(type); obj.Enabled = false; }
No3:写一个函数来排除包含对象
private void EnableRegistered(Type type) { ObjectInfo obj = RegisteredObjects.FindObject(type); obj.Enabled = true; }
通过这种方式,可以在报表预览菜单中管理对象的显示。