/******************************
* 说明:表格报表模版
* 创建人:龚宇超
* 创建日期:2017-11-20
* 修改人:
* 修改日期:
* 修改备注:
* 版本:1.0.0.0
******************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Lskj.Control;
using Lskj.Model;
using Lskj.Control.Model;
using Lskj.Util;
using Lskj.Data;
using Lskj.Business.Impl;
using Lskj.Business;
namespace Lskj.Report
{
public partial class FrmMain : BaseForm
{
///
/// 报表动态链接库参数
///
public DynamicReportModel Model;
public FrmMain()
{
InitializeComponent();
}
///
/// 说明:窗口加载
/// 创建人:龚宇超
/// 创建日期:2017-11-21
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The instance containing the event data.
protected override void OnLoad(EventArgs e)
{
WaitForm.ShowForm();
try
{
this.Model.Privilege = this.Model.Privilege.Equals("3") ? "1" : Model.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(Model.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(Model.ModuleCode) + "";
this.mControl.ModuleGridDetailObj.ModuleGridObj.VisibleOperPanel = false;
this.mControl.Details = GetReportDetails();
this.mControl.InitControls(Model);
}
catch (Exception ex)
{
LogHelper.Instance.WriteError(ex, ResourceKeys.BaseReport);
//MessageUtil.Show(ex.Message + "\r\n" + ex.StackTrace);
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
finally
{
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
this.mControl.Visible = true;
}
WaitForm.HideForm();
}
///
/// 说明:获取报表明细
/// 创建人:龚宇超
/// 创建日期:2017-11-22
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// List<GridDetailModel>.
private List GetReportDetails()
{
List details = new List();
bool ProcessExists = (Lskj.Data.Caches.CacheSYSConfig.Instance().JudgeProcessExists()&&SystemInfo.Instance.isExecload);
if (ProcessExists)
{
DataTable table = Lskj.Data.Caches.CacheSYSConfig.Instance().GetBaseDetailPages();
foreach (DataRow item in table.Rows)
{
DataTable gridColumns = Lskj.Data.Caches.CacheSYSConfig.Instance().GetReportDetailColumns(item["id"] + "");
details.Add(new GridDetailModel(item, gridColumns, GridCustomColumnStruct.BaseDetailGridView));
}
}
else {
DataTable table = ReportImpl.GetReportDetailPages(Model.ModuleCode);
foreach (DataRow item in table.Rows)
{
DataTable gridColumns = ReportImpl.GetReportDetailColumns(Model.ModuleCode, item["id"] + "");
details.Add(new GridDetailModel(item, gridColumns, GridCustomColumnStruct.BaseDetailGridView));
}
}
return details;
}
}
}