//检查数据源设置是否正确 private bool checkDataSourceSetting(List <string> addItems, MB.WinPrintReport.Model.PrintTempleteContentInfo printTemplete) { if (addItems.Contains(printTemplete.DataSource)) { throw new MB.Util.APPException(string.Format("打印模板 {0} 的 数据源设置有重复,请检查", printTemplete.DataSource), MB.Util.APPMessageType.DisplayToUser); } else if (string.IsNullOrEmpty(printTemplete.Name)) { throw new MB.Util.APPException(string.Format("打印模板ID {0} 的 名称不能为空,请检查", printTemplete.GID), MB.Util.APPMessageType.DisplayToUser); } else { addItems.Add(printTemplete.DataSource); } if (printTemplete.Childs != null && printTemplete.Childs.Count > 0) { foreach (var child in printTemplete.Childs) { bool b = checkDataSourceSetting(addItems, child); if (!b) { return(false); } } } return(true); }
//创建新的节点。 private void createNewNode(TreeNode currentNode) { MB.WinPrintReport.Model.PrintTempleteContentInfo newInfo = createNewPrintTemplete(); TreeNode newNode = createTreeNode(newInfo, currentNode.Nodes); (currentNode.Tag as PrintTempleteContentInfo).Childs.Add(newInfo); trvReport.SelectedNode = newNode; }
/// <summary> /// 子报表相关处理。 /// </summary> /// <param name="printTemplete"></param> /// <param name="dsData"></param> public SubReportCommand(MB.WinPrintReport.Model.PrintTempleteContentInfo printTemplete, DataSet dsData) { _PrintTemplete = printTemplete; _DataSource = dsData; _SubReportNames = new List <string>(); if (_PrintTemplete.Childs != null) { foreach (MB.WinPrintReport.Model.PrintTempleteContentInfo child in _PrintTemplete.Childs) { _SubReportNames.Add(child.Name); } } }
/// <summary> /// 报表模板设计。 /// </summary> /// <param name="reportDataHelper"></param> /// <param name="moduleID"></param> /// <param name="templeteID"></param> public FrmEditPrintTemplete(MB.WinPrintReport.IFace.IReportData reportDataHelper, System.Guid templeteID) { InitializeComponent(); _ModuleID = reportDataHelper.ModuleID; _ReportDataHelper = reportDataHelper; _ReportTempleteHelper = new ReportTemplete(reportDataHelper); _PrintTemplete = reportDataHelper.GetPrintTemplete(templeteID); if (_PrintTemplete == null) { _PrintTemplete = createNewPrintTemplete(); _PrintTemplete.GID = templeteID; _PrintTemplete.DataSource = (reportDataHelper.DataSource as DataSet).Tables[0].TableName; } _BindingSource = new MB.WinBase.Binding.BindingSourceEx(); _BindingSource.DataSource = _PrintTemplete; }
//创建树型结点 private TreeNode createTreeNode(MB.WinPrintReport.Model.PrintTempleteContentInfo printTemplete, TreeNodeCollection childNodes) { System.Windows.Forms.TreeNode node = new TreeNode(); node.Text = printTemplete.Name; node.Tag = printTemplete; childNodes.Add(node); node.ImageIndex = 2; node.SelectedImageIndex = 1; if (printTemplete.Childs == null || printTemplete.Childs.Count == 0) { return(node); } foreach (var child in printTemplete.Childs) { createTreeNode(child, node.Nodes); } return(node); }