#region
|
|
using System;
|
using System.Data;
|
using System.Drawing;
|
using System.IO;
|
using System.Windows.Forms;
|
using CSFrameworkV5.Business;
|
using CSFrameworkV5.Common;
|
using CSFrameworkV5.Core;
|
using CSFrameworkV5.Library;
|
using CSFrameworkV5.Library.CommonClass;
|
using CSFrameworkV5.Models;
|
|
#endregion
|
|
namespace CSFrameworkV5.SystemModule
|
{
|
/// <summary>
|
/// Reports的资料管理窗体,由代码生成器(Code Generator)自动生成
|
/// </summary>
|
public partial class frmReports : frmBaseDataDictionary
|
{
|
private bllReports _BLLInstance;
|
|
public frmReports()
|
{
|
InitializeComponent();
|
}
|
|
//设计报表
|
private void btnDesign_Click(object sender, EventArgs e)
|
{
|
var tmpFile = "";
|
|
try
|
{
|
var bs = (byte[])_BLLInstance.DataBinderRow[sys_Reports.Data];
|
|
if (bs == null) bs = new byte[] { };
|
|
//写入到临时文件
|
tmpFile = Path.Combine(Application.StartupPath + "\\Reports",
|
DateTime.Now.ToString("yyyyMMddHHmmssfff") + ".frx");
|
File.WriteAllBytes(tmpFile, bs);
|
|
//打开报表设计器
|
ReportLib.DesignReport(tmpFile, bs.Length == 0);
|
|
//保存报表数据
|
_BLLInstance.DataBinderRow[sys_Reports.Data] =
|
File.ReadAllBytes(tmpFile);
|
}
|
catch (Exception ex)
|
{
|
Msg.Warning(ex.Message);
|
}
|
|
//删除临时文件
|
if (File.Exists(tmpFile)) File.Delete(tmpFile);
|
}
|
|
private void btnEmpty_Click(object sender, EventArgs e)
|
{
|
ClearContainerEditorText(pnlSearch);
|
}
|
|
private void btnQuery_Click(object sender, EventArgs e)
|
{
|
//搜索数据
|
try
|
{
|
frmWaitingEx.ShowMe(this);
|
var dt = _BLLInstance.Query(
|
ConvertEx.ToString(txt_ReportID.EditValue),
|
ConvertEx.ToString(txt_ReportTitle.EditValue));
|
DoBindingSummaryGrid(dt); //绑定主表的Grid
|
ShowSummaryPage(true); //显示Summary页面.
|
}
|
finally
|
{
|
frmWaitingEx.HideMe(this);
|
}
|
|
if (gvSummary.RowCount == 0) Msg.Warning("没有找到数据!");
|
}
|
|
private void btnSaveAs_Click(object sender, EventArgs e)
|
{
|
AssertFocusedRow();
|
var bs = _BLLInstance.DataBinderRow[sys_Reports.Data] as byte[];
|
|
if (bs != null && bs.Length > 0)
|
{
|
var dlg = new SaveFileDialog();
|
dlg.Filter = ".NET FastReport Files|*.frx";
|
if (dlg.ShowDialog() == DialogResult.OK)
|
{
|
File.WriteAllBytes(dlg.FileName, bs);
|
Msg.ShowInformation("保存成功!");
|
}
|
}
|
else
|
{
|
Msg.Warning("没有报表内容!");
|
}
|
}
|
|
private void btnUpload_Click(object sender, EventArgs e)
|
{
|
var dlg = new OpenFileDialog();
|
dlg.Filter = ".NET FastReport Files|*.frx";
|
if (dlg.ShowDialog() == DialogResult.OK)
|
{
|
var bs = File.ReadAllBytes(dlg.FileName);
|
|
if (string.IsNullOrEmpty(txtReportID.Text))
|
_BLLInstance.DataBinderRow[sys_Reports.ReportID] =
|
Path.GetFileName(dlg.FileName);
|
|
if (string.IsNullOrEmpty(txtReportTitle.Text))
|
_BLLInstance.DataBinderRow[sys_Reports.ReportTitle] =
|
Path.GetFileName(dlg.FileName);
|
|
_BLLInstance.DataBinderRow[sys_Reports.Data] = bs;
|
|
ShowSize(bs);
|
}
|
}
|
|
protected override void
|
ButtonStateChanged(UpdateType currentState) //按钮状态改变时触发的事件
|
{
|
base.ButtonStateChanged(currentState);
|
|
txtReportID.Properties.ReadOnly = true; //修改状态下不允许修改主键的数据
|
txtLastUpdateDate.Properties.ReadOnly = true; //禁止修改
|
txtLastUpdatedBy.Properties.ReadOnly = true; //禁止修改
|
|
btnUpload.Enabled = IsAddOrEditMode;
|
btnDesign.Enabled = IsAddOrEditMode;
|
//btnSaveAs.Enabled = this.IsAddOrEditMode;
|
|
txxtFlag.Properties.ReadOnly = true;
|
}
|
|
public override void DoAdd(IButtonInfo sender)
|
{
|
base.DoAdd(sender);
|
|
if (IsAddMode) SetEditorBindingValue(txtReportID, "*自动生成*", true);
|
}
|
|
/// <summary>
|
/// 绑定修改页面中所有输入框的数据源
|
/// </summary>
|
/// <param name="summary">数据源</param>
|
protected override void DoBindingSummaryEditor(DataTable summary)
|
{
|
DoBindingEditorPanel(pcDetailEditor, summary);
|
|
var bs = _BLLInstance.DataBinderRow[sys_Reports.Data] as byte[];
|
ShowSize(bs);
|
}
|
|
public override void DoSave(IButtonInfo sender)
|
{
|
//调用基类提供的保存方法
|
base.DoSaveEx(sender);
|
}
|
|
private void frmReports_Load(object sender, EventArgs e)
|
{
|
InitializeForm(); //自定义初始化操作
|
}
|
|
protected override void InitializeForm()
|
{
|
_SummaryView =
|
new DevGridView(
|
gvSummary); //实例化数据主视图,此接口可支持不同的主视图,比如Grid,TreeList.
|
//_ActiveEditor = txtReportID;//进入修改状态,显示第一个焦点的输入框,可以不设置
|
//_KeyEditor = txtReportID;//主键字段输入框,可以不设置
|
_DetailGroupControl = pcDetailEditor; //修改页面所有输入框的容器
|
_BLL = new bllReports(); //实例化基类业务逻辑层
|
_BLLInstance = _BLL as bllReports; //本窗体的业务层对象引用
|
base.InitializeForm();
|
|
DataBinderTools.BoundCheckEdit(repositoryItemCheckEdit1);
|
}
|
|
private void ShowSize(byte[] bs)
|
{
|
if (bs == null)
|
{
|
txxtFlag.Text = "您没有选择报表哦~~";
|
txxtFlag.Properties.Appearance.ForeColor = Color.DarkRed;
|
}
|
else
|
{
|
if (bs.Length < 1024)
|
{
|
txxtFlag.Text = bs.Length.ToStringEx() + "字节(bytes)";
|
}
|
else
|
{
|
var i = bs.Length / 1024;
|
txxtFlag.Text = i.ToStringEx() + "KB";
|
}
|
|
txxtFlag.Properties.Appearance.ForeColor = Color.Black;
|
}
|
}
|
|
protected override void ShowSummary()
|
{
|
//重写此方法打开窗体时不显示任何数据
|
}
|
|
//检查主表数据完整性
|
protected override bool ValidatingData()
|
{
|
//if (ConvertEx.ToString(txtReportID.EditValue).Trim() == String.Empty)
|
//{
|
// Msg.Warning("ReportID不能为空!");
|
// txtReportID.Focus();
|
// return false;
|
//}
|
|
if (ConvertEx.ToString(txtReportTitle.EditValue).Trim() ==
|
string.Empty)
|
{
|
Msg.Warning("ReportTitle不能为空!");
|
txtReportTitle.Focus();
|
return false;
|
}
|
|
return true;
|
}
|
|
#region 自动生成的事件或方法的主体部份
|
|
#endregion
|
}
|
}
|