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.Business.Impl;
using Lskj.Util;
using Lskj.Data;
using DevExpress.XtraEditors;
namespace Lskj.PubChart
{
public partial class FrmMain : BaseForm
{
public DynamicPubchartModel PubchartModel;
///
/// 系统模块实体对象
///
/// The system model.
public ModuleModel SysModel { get; private set; }
///
/// 控件数据源
///
private DataTable _controlTable;
///
/// 查询条件
///
private DataTable _queryTable = new DataTable();
///
/// 控件对象
///
public MyControl SearchObj { get; private set; }
///
/// 数据源
///
private DataTable dtData;
//是否初始化完成
public bool _isInitFinish = false;
public FrmMain()
{
InitializeComponent();
}
///
/// 说明:窗体加载时
/// 创建人:龚宇超
/// 创建日期:2017-09-01
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The instance containing the event data.
protected override void OnLoad(EventArgs e)
{
WaitForm.ShowForm();
try
{
this.PubchartModel.Privilege = this.PubchartModel.Privilege.Equals("3") ? "1" : PubchartModel.ModuleId > 0 ? BaseImpl.GetUserPurviewsByMenuId(PubchartModel.ModuleId + "") + "" : BaseImpl.GetUserPurviewsByMenuCode(PubchartModel.ModuleCode) + "";
this.SysModel = new ModuleModel(MainImpl.GetSystemdllTab(this.PubchartModel.ModuleCode));
this._queryTable = BaseModuleImpl.GetCustomQueryFields(this.SysModel.CondKey);
this.SearchObj = new MyControl(this.SysModel.MenuSql, this.chartControlEx.GridControlObj);
this.pl_right_where.Height = this.SearchObj.InitSearchControl(_queryTable, this.pl_right_where, null);
this.SearchObj.OnSearchAfterCallBack += new EventHandler(OnSearchAfter);
DataTable gridColumn = BaseModuleImpl.GetBaseGridColumns(this.PubchartModel.ModuleCode);
this.chartControlEx.PanelControlObj.Visible = true;
this.chartControlEx.SplitMain.PanelVisibility = SplitPanelVisibility.Both;//初始化时默认隐藏
this.chartControlEx.GridControlObj.GridView.OptionsView.ColumnAutoWidth = true;
this.chartControlEx.GridControlObj.SetEditColumns(gridColumn);
this.chartControlEx.GridControlObj.gridControl.DataSource = dtData;
this.chartControlEx.SetCharts(BaseModuleImpl.GetChartParams(SysModel.FormKey));
this.chartControlEx.SplitMain.SplitterMoved += new System.EventHandler(this.OnTopSplitterMoved);
}
catch (Exception ex)
{
LogHelper.Instance.WriteError(ex, ResourceKeys.ChartModel);
//MessageUtil.Show(ex.Message + "\r\n" + ex.StackTrace);
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
finally
{
this.InitializeSplitterPosition();
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
this.chartControlEx.Visible = true;
}
WaitForm.HideForm();
}
///
/// 说明:查询条件执行后
/// 创建人:王一帆
/// 创建日期:2019-11-13
/// 修改人:
/// 修改日期:
/// 修改备注:
/// 版本:1.0
///
/// The source of the event.
/// The instance containing the event data.
protected void OnSearchAfter(object sender, EventArgs e)
{
try
{
dtData = this.chartControlEx.GridControlObj.gridControl.DataSource as DataTable;
this.chartControlEx.CreateChart(dtData);
}
catch (Exception ex)
{
string Message = ErrorMessage.PromptErrorMessage(ex);
MessageUtil.Show(Message,ex.Message);
}
}
//分割条改变时
private void OnTopSplitterMoved(object sender, EventArgs e)
{
if (this._isInitFinish)// 是否为初始化创建
{
IniHelper.Write(string.Format("PubChart_{0}", this.PubchartModel.ModuleCode), this.chartControlEx.SplitMain.SplitterPosition + "");
}
}
//初始化设置分割条为准
public void InitializeSplitterPosition()
{
try
{
string splitterPosition = IniHelper.Read(string.Format("PubChart_{0}", this.PubchartModel.ModuleCode));
if (!string.IsNullOrEmpty(splitterPosition))
{
this.chartControlEx.SplitMain.SplitterPosition = Convert.ToInt32(splitterPosition);
}
else
{
this.chartControlEx.SplitMain.SplitterPosition = this.chartControlEx.Height / 2;
}
}
catch (Exception e)
{
}
finally
{
_isInitFinish = true;
}
}
}
}