Browse Source

FieldsExplorer is invisible until SharpReport run's and update themself from SharpReportView

at start and when View's changed

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@1053 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Peter Forstmeier 20 years ago
parent
commit
1119f56695
  1. 62
      src/AddIns/Misc/SharpReport/SharpReport/SharpReportManager.cs
  2. 20
      src/AddIns/Misc/SharpReport/SharpReportAddin/Commands/ViewCommands.cs
  3. 1
      src/AddIns/Misc/SharpReport/SharpReportAddin/FieldsExplorer/ColumnsTreeNode.cs
  4. 144
      src/AddIns/Misc/SharpReport/SharpReportAddin/FieldsExplorer/FieldsExplorer.cs
  5. 5
      src/AddIns/Misc/SharpReport/SharpReportAddin/FieldsExplorer/SectionTreeNode.cs
  6. 5
      src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportAddin.addin
  7. 5
      src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportDisplayBinding.cs
  8. 65
      src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportView.cs
  9. 16
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/BaseFunction.cs
  10. 4
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/BaseGraphicItem.cs
  11. 3
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/BaseTextItem.cs
  12. 32
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Functions/BasePageNumber.cs
  13. 7
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Functions/BaseToday.cs
  14. 2
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseCircleItem.cs
  15. 4
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseImageItem.cs
  16. 2
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseRectangleItem.cs
  17. 6
      src/AddIns/Misc/SharpReport/SharpReportCore/BaseSettings.cs
  18. 23
      src/AddIns/Misc/SharpReport/SharpReportCore/Dialogs/PreviewControl.cs
  19. 13
      src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs
  20. 108
      src/AddIns/Misc/SharpReport/SharpReportCore/Printing/Formatter/DefaultFormatter.cs
  21. 48
      src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportEngine.cs

62
src/AddIns/Misc/SharpReport/SharpReport/SharpReportManager.cs

@ -73,38 +73,35 @@ namespace SharpReport{
/// <returns><see cref="ColumnCollection"</returns> /// <returns><see cref="ColumnCollection"</returns>
private ColumnCollection ReadColumnCollection() { private ColumnCollection ReadColumnCollection() {
DataManager dataManager = null;
if (baseDesignerControl == null) {
return new ColumnCollection();
}
//FormSheet report = no available Fileds
if (baseDesignerControl.ReportModel.ReportSettings.ReportType == GlobalEnums.enmReportType.FormSheet) {
return new ColumnCollection();
}
if (baseDesignerControl.ReportModel.DataModel.Equals(GlobalEnums.enmPushPullModel.PushData)) {
return new ColumnCollection();
}
// PullData, query the Datasource and ask for the available Fields
if (base.ConnectionObject == null) {
base.ConnectionObject = this.BuildConnectionObject(baseDesignerControl.ReportModel.ReportSettings);
}
if (this.baseDesignerControl.ReportModel.DataModel.Equals(GlobalEnums.enmPushPullModel.PullData)){ ColumnCollection columnCollecion = new ColumnCollection();
switch (baseDesignerControl.ReportModel.DataModel) {
using (dataManager = new DataManager(base.ConnectionObject, case GlobalEnums.enmPushPullModel.FormSheet:
baseDesignerControl.ReportModel.ReportSettings)) { //Plain FormSheet we do nothing for the moment
dataManager.DataBind(); break;
return dataManager.AvailableFields; case GlobalEnums.enmPushPullModel.PushData:
} //PushData
} columnCollecion = base.CollectFieldsFromModel(this.baseDesignerControl.ReportModel);
break;
//Pushdata, we walk thru all sections and collect the ReportDataItems case GlobalEnums.enmPushPullModel.PullData:
if (this.baseDesignerControl.ReportModel.DataModel == GlobalEnums.enmPushPullModel.PushData) { // PullData, query the Datasource and ask for the available Fields
return base.CollectFieldsFromModel(this.baseDesignerControl.ReportModel); if (base.ConnectionObject == null) {
base.ConnectionObject = this.BuildConnectionObject(baseDesignerControl.ReportModel.ReportSettings);
}
if (this.baseDesignerControl.ReportModel.DataModel.Equals(GlobalEnums.enmPushPullModel.PullData)){
using (DataManager dataManager = new DataManager(base.ConnectionObject,
baseDesignerControl.ReportModel.ReportSettings)) {
dataManager.DataBind();
columnCollecion = dataManager.AvailableFields;
}
}
break;
default:
break;
} }
throw new ArgumentOutOfRangeException("SharpReportManager:ReadColumnCollection"); return columnCollecion;
} }
@ -114,7 +111,10 @@ namespace SharpReport{
private void AddItemsToSection (BaseSection section,ReportItemCollection collection) { private void AddItemsToSection (BaseSection section,ReportItemCollection collection) {
if ((section == null)|| (collection == null) ) { if ((section == null)|| (collection == null) ) {
throw new ArgumentNullException ("Sharpreportmanager:AddItemsToSection"); throw new ArgumentNullException ("section");
}
if (collection == null) {
throw new ArgumentNullException("collection");
} }
// if there are already items in the section, // if there are already items in the section,
// the we have to append the Items, means whe have to enlarge the section // the we have to append the Items, means whe have to enlarge the section

20
src/AddIns/Misc/SharpReport/SharpReportAddin/Commands/ViewCommands.cs

@ -29,27 +29,7 @@ namespace SharpReportAddin.Commands{
} else { } else {
MessageService.ShowError(ResourceService.GetString("Sharpreport.Error.NoPrinter")); MessageService.ShowError(ResourceService.GetString("Sharpreport.Error.NoPrinter"));
} }
} }
} }
} }
/// <summary>
/// Let the <see cref="SharpReportView"></see> update or fill
/// the <see cref="FieldsExplorer"></see>
/// </summary>
public class SetFieldsExplorer : AbstractSharpReportCommand{
public SetFieldsExplorer() {
}
public override void Run() {
try {
base.View.UpdateFieldsExplorer();
} catch (Exception) {
throw;
}
}
}
} }

1
src/AddIns/Misc/SharpReport/SharpReportAddin/FieldsExplorer/ColumnsTreeNode.cs

@ -8,7 +8,6 @@
// </autogenerated> // </autogenerated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.ComponentModel; using System.ComponentModel;
using System.Windows.Forms; using System.Windows.Forms;

144
src/AddIns/Misc/SharpReport/SharpReportAddin/FieldsExplorer/FieldsExplorer.cs

@ -46,26 +46,11 @@ namespace SharpReportAddin {
private TreeNode nodeFunction; private TreeNode nodeFunction;
private TreeNode nodeParams; private TreeNode nodeParams;
private ReportSettings reportSettings; private ReportModel reportModel;
private bool isFilled = false; private bool isFilled ;
#region Publics #region Publics
public void Fill (ReportSettings reportSettings) {
if (reportSettings == null) {
throw new ArgumentException("FieldsExplorer:Fill 'ReportSettings'");
}
this.reportSettings = reportSettings;
this.Nodes.Clear();
InitImageList();
BuildNodes();
this.FillTree();
this.ExpandAll();
isFilled = true;
}
///<summary> ///<summary>
/// Clear the selected Section /// Clear the selected Section
/// </summary> /// </summary>
@ -83,7 +68,6 @@ namespace SharpReportAddin {
/// Remove the selected Node from Sorting or Grouping Collection /// Remove the selected Node from Sorting or Grouping Collection
/// </summary> /// </summary>
public void ClearSelectedNode() { public void ClearSelectedNode() {
System.Console.WriteLine("ClearSelectedNode");
if (this.SelectedNode != null) { if (this.SelectedNode != null) {
TreeNode parent = this.SelectedNode.Parent; TreeNode parent = this.SelectedNode.Parent;
this.SelectedNode.Remove(); this.SelectedNode.Remove();
@ -96,7 +80,6 @@ namespace SharpReportAddin {
/// Toggle the SortDirection /// Toggle the SortDirection
/// </summary> /// </summary>
public void ToogleSortDirection () { public void ToogleSortDirection () {
System.Console.WriteLine("Toggle SortDirection");
if (this.SelectedNode is ColumnsTreeNode) { if (this.SelectedNode is ColumnsTreeNode) {
ColumnsTreeNode cn = (ColumnsTreeNode)this.SelectedNode; ColumnsTreeNode cn = (ColumnsTreeNode)this.SelectedNode;
if (cn.SortDirection == ListSortDirection.Ascending) { if (cn.SortDirection == ListSortDirection.Ascending) {
@ -148,7 +131,6 @@ namespace SharpReportAddin {
void TreeViewDragDrop (object sender,DragEventArgs e) { void TreeViewDragDrop (object sender,DragEventArgs e) {
System.Console.WriteLine("DragDrop");
if(e.Data.GetDataPresent("SharpReportAddin.ColumnsTreeNode", false)){ if(e.Data.GetDataPresent("SharpReportAddin.ColumnsTreeNode", false)){
Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y)); Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
@ -168,12 +150,22 @@ namespace SharpReportAddin {
CheckNode (dest); CheckNode (dest);
node.Nodes.Add(dest); node.Nodes.Add(dest);
NotifyReportView(); NotifyReportView();
this.OnViewSaving(this,EventArgs.Empty);
} }
} }
} }
} }
private void Fill () {
this.Nodes.Clear();
InitImageList();
BuildNodes();
this.FillTree();
this.ExpandAll();
isFilled = true;
}
private bool CheckForExist (SectionTreeNode sec,ColumnsTreeNode col) { private bool CheckForExist (SectionTreeNode sec,ColumnsTreeNode col) {
if (sec.Nodes.Count > 0) { if (sec.Nodes.Count > 0) {
for (int i = 0;i < sec.Nodes.Count ;i++ ) { for (int i = 0;i < sec.Nodes.Count ;i++ ) {
@ -228,7 +220,6 @@ namespace SharpReportAddin {
private void NotifyReportView() { private void NotifyReportView() {
if (this.isFilled) { if (this.isFilled) {
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent is SharpReportView) { if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent is SharpReportView) {
System.Console.WriteLine("NotifyReportView");
WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.IsDirty = true; WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.IsDirty = true;
} }
} }
@ -240,13 +231,29 @@ namespace SharpReportAddin {
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null || WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent == null) { if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow == null || WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent == null) {
return; return;
} }
WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.Saving -= OnViewSaving;
if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent is SharpReportView) { WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.Saving += OnViewSaving;
WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.Saving -= new EventHandler (OnViewSaving);
WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent.Saving += new EventHandler (OnViewSaving); PadDescriptor pad = WorkbenchSingleton.Workbench.GetPad(typeof(FieldsExplorer));
SharpReportView v =
WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ActiveViewContent
as SharpReportView;
if (v != null) {
this.reportModel = v.ReportManager.BaseDesignControl.ReportModel;
if (this.reportModel != null) {
this.Fill();
WorkbenchSingleton.Workbench.ShowPad(pad);
pad.BringPadToFront();
}
} else {
WorkbenchSingleton.Workbench.WorkbenchLayout.HidePad(pad);
} }
} catch (Exception) {
} catch (Exception er) {
System.Console.WriteLine("\t{0}",er.Message);
} }
} }
@ -263,13 +270,13 @@ namespace SharpReportAddin {
#region Build TreeControl #region Build TreeControl
private void UpdateSorting () { private void UpdateSorting () {
this.reportSettings.SortColumnCollection.Clear(); this.reportModel.ReportSettings.SortColumnCollection.Clear();
if (this.nodeSorting.Nodes.Count > 0) { if (this.nodeSorting.Nodes.Count > 0) {
SortColumn sc; SortColumn sc;
AbstractColumn af; AbstractColumn af;
for (int i = 0;i < this.nodeSorting.Nodes.Count ;i++ ) { for (int i = 0;i < this.nodeSorting.Nodes.Count ;i++ ) {
ColumnsTreeNode cn = (ColumnsTreeNode)this.nodeSorting.Nodes[i]; ColumnsTreeNode cn = (ColumnsTreeNode)this.nodeSorting.Nodes[i];
af = reportSettings.AvailableFieldsCollection.Find(cn.Text); af = this.reportModel.ReportSettings.AvailableFieldsCollection.Find(cn.Text);
if (af != null) { if (af != null) {
sc = new SortColumn (cn.Text, sc = new SortColumn (cn.Text,
cn.SortDirection, cn.SortDirection,
@ -279,35 +286,35 @@ namespace SharpReportAddin {
cn.SortDirection, cn.SortDirection,
typeof(System.String)); typeof(System.String));
} }
reportSettings.SortColumnCollection.Add(sc); this.reportModel.ReportSettings.SortColumnCollection.Add(sc);
} }
} }
} }
private void UpdateGrouping () { private void UpdateGrouping () {
reportSettings.GroupColumnsCollection.Clear(); this.reportModel.ReportSettings.GroupColumnsCollection.Clear();
if (this.nodeGrouping.Nodes.Count > 0) { if (this.nodeGrouping.Nodes.Count > 0) {
GroupColumn gc; GroupColumn gc;
for (int i = 0;i < this.nodeGrouping.Nodes.Count ;i++ ) { for (int i = 0;i < this.nodeGrouping.Nodes.Count ;i++ ) {
ColumnsTreeNode cn = (ColumnsTreeNode)this.nodeGrouping.Nodes[i]; ColumnsTreeNode cn = (ColumnsTreeNode)this.nodeGrouping.Nodes[i];
gc = new GroupColumn (cn.Text,i,cn.SortDirection); gc = new GroupColumn (cn.Text,i,cn.SortDirection);
reportSettings.GroupColumnsCollection.Add(gc); this.reportModel.ReportSettings.GroupColumnsCollection.Add(gc);
} }
} }
} }
void SetAvailableFields () { void SetAvailableFields () {
try { try {
int avCount = reportSettings.AvailableFieldsCollection.Count; int avCount = this.reportModel.ReportSettings.AvailableFieldsCollection.Count;
for (int i = 0;i < avCount ;i++ ) { for (int i = 0;i < avCount ;i++ ) {
AbstractColumn af = reportSettings.AvailableFieldsCollection[i]; AbstractColumn af = this.reportModel.ReportSettings.AvailableFieldsCollection[i];
ColumnsTreeNode n = new ColumnsTreeNode(af.ColumnName); ColumnsTreeNode n = new ColumnsTreeNode(af.ColumnName);
n.Tag = this.nodeAvailableFields; n.Tag = this.nodeAvailableFields;
//we don't like ContextMenu here //we don't like ContextMenu here
n.ContextmenuAddinTreePath = ""; n.ContextmenuAddinTreePath = "";
switch (this.reportSettings.CommandType) { switch (this.reportModel.ReportSettings.CommandType) {
case CommandType.Text:{ case CommandType.Text:{
n.ImageIndex = 6; n.ImageIndex = 6;
n.SelectedImageIndex = 6; n.SelectedImageIndex = 6;
@ -336,8 +343,8 @@ namespace SharpReportAddin {
void SetSortFields(){ void SetSortFields(){
try { try {
ColumnsTreeNode node; ColumnsTreeNode node;
int scCount = reportSettings.SortColumnCollection.Count; int scCount = this.reportModel.ReportSettings.SortColumnCollection.Count;
foreach (SortColumn sc in reportSettings.SortColumnCollection) { foreach (SortColumn sc in this.reportModel.ReportSettings.SortColumnCollection) {
node = new ColumnsTreeNode(sc.ColumnName,sc.SortDirection); node = new ColumnsTreeNode(sc.ColumnName,sc.SortDirection);
if (node.SortDirection == ListSortDirection.Ascending) { if (node.SortDirection == ListSortDirection.Ascending) {
node.ImageIndex = 4; node.ImageIndex = 4;
@ -355,9 +362,9 @@ namespace SharpReportAddin {
void SetGroupFields(){ void SetGroupFields(){
try { try {
ColumnsTreeNode node; ColumnsTreeNode node;
int gcCount = reportSettings.GroupColumnsCollection.Count; int gcCount = this.reportModel.ReportSettings.GroupColumnsCollection.Count;
for (int i = 0;i < gcCount ;i++ ) { for (int i = 0;i < gcCount ;i++ ) {
GroupColumn gc = (GroupColumn)reportSettings.GroupColumnsCollection[i]; GroupColumn gc = (GroupColumn)this.reportModel.ReportSettings.GroupColumnsCollection[i];
node = new ColumnsTreeNode(gc.ColumnName); node = new ColumnsTreeNode(gc.ColumnName);
if (node.SortDirection == ListSortDirection.Ascending) { if (node.SortDirection == ListSortDirection.Ascending) {
node.ImageIndex = 4; node.ImageIndex = 4;
@ -373,43 +380,43 @@ namespace SharpReportAddin {
} }
} }
/* void SetParamFields (){
void SetParamFields (SharpReportManager reportManager){
try { ColumnsTreeNode node;
ColumnsTreeNode node; int parCount = this.reportModel.ReportSettings.SqlParametersCollection.Count;
int parCount = reportManager.SqlParametersCollection.Count; if (parCount > 0) {
for (int i = 0;i < parCount ;i++ ) { for (int i = 0;i < parCount ;i++ ) {
SqlParameter par = (SqlParameter)reportManager.SqlParametersCollection[i]; SqlParameter par = (SqlParameter)this.reportModel.ReportSettings.SqlParametersCollection[i];
node = new ColumnsTreeNode(par.ParameterName); node = new ColumnsTreeNode(par.ParameterName);
node.Tag = par; node.Tag = par;
node.SelectedImageIndex = 9; node.SelectedImageIndex = 9;
node.ImageIndex = 9; node.ImageIndex = 9;
this.nodeParams.Nodes.Add (node); this.nodeParams.Nodes.Add (node);
} }
} catch (Exception) { }
}
} }
*/
void SetFunctions(){ void SetFunctions(){
try { ColumnsTreeNode node;
foreach (ReportSection section in this.reportModel.SectionCollection) {
} catch (Exception) { foreach (BaseReportObject item in section.Items) {
BaseFunction func = item as BaseFunction;
if (func != null) {
node = new ColumnsTreeNode(func.Name);
this.nodeFunction.Nodes.Add(func.FriendlyName);
}
}
} }
} }
private void FillTree () { private void FillTree () {
if (this.reportSettings != null) { this.BeginUpdate();
BeginUpdate(); SetAvailableFields();
SetAvailableFields(); SetGroupFields();
SetGroupFields(); SetSortFields();
SetSortFields(); SetParamFields ();
// SetParamFields (); SetFunctions();
// SetFunctions(); this.EndUpdate();
EndUpdate();
} else {
throw new SharpReportException("FiekldsExplorer:FillTree() No valid ReportSettings");
}
} }
private const int folderClosed = 0; private const int folderClosed = 0;
@ -546,18 +553,19 @@ namespace SharpReportAddin {
public FieldsExplorer() { public FieldsExplorer() {
WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += new EventHandler(OnWindowChange);
WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += OnWindowChange;
LabelEdit = true; LabelEdit = true;
AllowDrop = true; AllowDrop = true;
HideSelection = false; HideSelection = false;
Dock = DockStyle.Fill; Dock = DockStyle.Fill;
Scrollable = true; Scrollable = true;
LabelEdit = false; LabelEdit = false;
MouseDown += new System.Windows.Forms.MouseEventHandler(this.TreeMouseDown); this.MouseDown += TreeMouseDown;
this.ItemDrag += new ItemDragEventHandler (TreeViewItemDrag); this.ItemDrag += TreeViewItemDrag;
this.DragDrop += new DragEventHandler (TreeViewDragDrop); this.DragDrop += TreeViewDragDrop;
this.DragOver += new DragEventHandler (TreeViewDragOver); this.DragOver += TreeViewDragOver;
contentPanel.Controls.Add(this); contentPanel.Controls.Add(this);
} }
} }

5
src/AddIns/Misc/SharpReport/SharpReportAddin/FieldsExplorer/SectionTreeNode.cs

@ -8,14 +8,11 @@
// </autogenerated> // </autogenerated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
//using SharpReportAddin;
/// <summary> /// <summary>
/// This Node represents th sections in the FieldsExplorer /// This Node represents a sections in the FieldsExplorer
/// like AvailableFields, Sorting etc. /// like AvailableFields, Sorting etc.
/// </summary> /// </summary>
/// <remarks> /// <remarks>

5
src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportAddin.addin

@ -33,12 +33,11 @@
</Path> </Path>
<!-- FieldsExplorer --> <!-- FieldsExplorer -->
<!--label="${res:SharpReport.FieldsExplorer.Title}"-->
<Path name ="/SharpDevelop/Workbench/Pads"> <Path name ="/SharpDevelop/Workbench/Pads">
<Pad id="fieldsexplorer" <Pad id="fieldsexplorer"
category = "Tools" category = "Invisible"
icon="Icons.16x16.SharpQuery.Refresh" icon="Icons.16x16.SharpQuery.Refresh"
title = "FieldsExplorer" title = "${res:SharpReport.FieldsExplorer.Title}"
shortcut = "Control|Alt|F" shortcut = "Control|Alt|F"
class="SharpReportAddin.FieldsExplorer"/> class="SharpReportAddin.FieldsExplorer"/>
</Path> </Path>

5
src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportDisplayBinding.cs

@ -21,6 +21,8 @@ using System;
using System.IO; using System.IO;
using System.Windows.Forms; using System.Windows.Forms;
using ICSharpCode.Core;
using SharpReportCore; using SharpReportCore;
/// <summary> /// <summary>
/// Displaybinding for SharpReport /// Displaybinding for SharpReport
@ -42,7 +44,6 @@ namespace SharpReportAddin {
cmd.Run(); cmd.Run();
view.FileName = view.DesignerControl.ReportModel.ReportSettings.FileName; view.FileName = view.DesignerControl.ReportModel.ReportSettings.FileName;
view.UpdateView(true); view.UpdateView(true);
view.UpdateFieldsExplorer();
view.Selected(); view.Selected();
return view; return view;
} catch (SharpReportException) { } catch (SharpReportException) {
@ -75,9 +76,9 @@ namespace SharpReportAddin {
if (GlobalValues.IsValidPrinter() == true) { if (GlobalValues.IsValidPrinter() == true) {
SharpReportView view = new SharpReportView(); SharpReportView view = new SharpReportView();
try { try {
StatusBarService.SetMessage (String.Format("File : {0}",fileName));
view.Load (fileName); view.Load (fileName);
view.UpdateView (false); view.UpdateView (false);
view.UpdateFieldsExplorer();
view.Selected(); view.Selected();
return view; return view;
} catch (Exception) { } catch (Exception) {

65
src/AddIns/Misc/SharpReport/SharpReportAddin/SharpReportView.cs

@ -55,8 +55,6 @@ namespace SharpReportAddin{
panel.AutoScroll = true; panel.AutoScroll = true;
CreateTabControl(); CreateTabControl();
BuildToolBarItems(); BuildToolBarItems();
base.UntitledName = GlobalValues.SharpReportPlainFileName;
base.FileName = GlobalValues.SharpReportPlainFileName;
PropertyPad.Grid.SelectedObject = designerControl.ReportModel.ReportSettings; PropertyPad.Grid.SelectedObject = designerControl.ReportModel.ReportSettings;
PropertyPad.Grid.Refresh(); PropertyPad.Grid.Refresh();
} catch (Exception e) { } catch (Exception e) {
@ -306,10 +304,17 @@ namespace SharpReportAddin{
private void OnTabPageChanged (object sender, EventArgs e) { private void OnTabPageChanged (object sender, EventArgs e) {
string name = Path.GetFileName (base.FileName);
base.TitleName = name + "[" + tabControl.SelectedTab.Text + "]"; string name;
System.Console.WriteLine(""); if (String.IsNullOrEmpty(base.FileName)) {
System.Console.WriteLine("!! OnTabPageChange !!"); base.UntitledName = GlobalValues.SharpReportPlainFileName;
base.TitleName = GlobalValues.SharpReportPlainFileName;
base.FileName = GlobalValues.SharpReportPlainFileName;
name = base.TitleName;
} else {
name = Path.GetFileName (base.FileName);
}
base.TitleName = String.Format("{0} [{1}]",name,this.tabControl.SelectedTab.Text);
switch (tabControl.SelectedIndex) { switch (tabControl.SelectedIndex) {
case 0 : case 0 :
break; break;
@ -329,24 +334,18 @@ namespace SharpReportAddin{
//Something was dropped on the designer //Something was dropped on the designer
private void OnItemDragDrop (object sender,ItemDragDropEventArgs e) { private void OnItemDragDrop (object sender,ItemDragDropEventArgs e) {
System.Console.WriteLine("View:DragDrop");
base.IsDirty = true; base.IsDirty = true;
SharpReportAddin.Commands.SetFieldsExplorer uf = new SharpReportAddin.Commands.SetFieldsExplorer();
uf.Run();
} }
public void OnPropertyChanged (object sender, public void OnPropertyChanged (object sender,
System.ComponentModel.PropertyChangedEventArgs e) { System.ComponentModel.PropertyChangedEventArgs e) {
System.Console.WriteLine("View:PorpChange");
base.IsDirty = true; base.IsDirty = true;
} }
private void OnSettingsChanged (object sender,EventArgs e) { private void OnSettingsChanged (object sender,EventArgs e) {
System.Console.WriteLine("View.SettingsChange");
base.IsDirty = true; base.IsDirty = true;
} }
private void OnModelFileNameChanged (object sender,EventArgs e) { private void OnModelFileNameChanged (object sender,EventArgs e) {
System.Console.WriteLine("View:filenamechange");
base.FileName = designerControl.ReportModel.ReportSettings.FileName; base.FileName = designerControl.ReportModel.ReportSettings.FileName;
base.IsDirty = true; base.IsDirty = true;
this.OnFileNameChanged(e); this.OnFileNameChanged(e);
@ -355,6 +354,12 @@ namespace SharpReportAddin{
private void OnObjectSelected (object sender,EventArgs e) { private void OnObjectSelected (object sender,EventArgs e) {
if (designerControl.ReportControl.SelectedObject != null) { if (designerControl.ReportControl.SelectedObject != null) {
// BaseReportObject bro = designerControl.ReportControl.SelectedObject as BaseReportObject;
//
// if (bro != null) {
// string s = "{" + bro.Name + "}";
// StatusBarService.SetMessage(s);
// }
PropertyPad.Grid.SelectedObject = designerControl.ReportControl.SelectedObject; PropertyPad.Grid.SelectedObject = designerControl.ReportControl.SelectedObject;
} }
} }
@ -396,7 +401,6 @@ namespace SharpReportAddin{
/// </summary> /// </summary>
/// <param name="setViewDirty">If true, set the DirtyFlag and Fire the PropertyChanged Event</param> /// <param name="setViewDirty">If true, set the DirtyFlag and Fire the PropertyChanged Event</param>
public void UpdateView(bool setViewDirty) { public void UpdateView(bool setViewDirty) {
System.Console.WriteLine("UpdateView with {0}",setViewDirty);
this.tabControl.SelectedIndex = 0; this.tabControl.SelectedIndex = 0;
this.OnTabPageChanged(this,EventArgs.Empty); this.OnTabPageChanged(this,EventArgs.Empty);
SetOnPropertyChangedEvents(); SetOnPropertyChangedEvents();
@ -405,26 +409,6 @@ namespace SharpReportAddin{
} }
} }
///<summary>
/// We have to tell the FieldsdsExplorer that we have loaded or created a new report
/// </summary>
///
public void UpdateFieldsExplorer() {
try {
Type type = typeof(FieldsExplorer);
SharpReportAddin.FieldsExplorer fe = (SharpReportAddin.FieldsExplorer)WorkbenchSingleton.Workbench.GetPad(type).PadContent;
if (fe != null) {
this.designerControl.ReportModel.ReportSettings.AvailableFieldsCollection = reportManager.AvailableFieldsCollection;
fe.Fill(designerControl.ReportModel.ReportSettings);
} else {
MessageService.ShowError ("SharpReportView:SetFieldExplorer Unable to create FieldsExplorer");
}
} catch (Exception e) {
MessageService.ShowError (e);
}
}
#endregion #endregion
@ -489,16 +473,6 @@ namespace SharpReportAddin{
} }
} }
public override void Deselected(){
base.Deselected();
System.Console.WriteLine("Deselected");
}
public override void Selected(){
base.Selected();
System.Console.WriteLine("Selected");
}
public override void Save() { public override void Save() {
this.Save (designerControl.ReportModel.ReportSettings.FileName); this.Save (designerControl.ReportModel.ReportSettings.FileName);
@ -522,12 +496,15 @@ namespace SharpReportAddin{
public override void Load(string fileName){ public override void Load(string fileName){
try { try {
designerControl.ReportControl.ObjectSelected -= new SelectedEventHandler (OnObjectSelected); designerControl.ReportControl.ObjectSelected -= new SelectedEventHandler (OnObjectSelected);
reportManager.LoadFromFile (fileName); reportManager.LoadFromFile (fileName);
base.FileName = fileName; base.FileName = fileName;
designerControl.ReportModel.ReportSettings.FileName = fileName; designerControl.ReportModel.ReportSettings.FileName = fileName;
designerControl.ReportControl.ObjectSelected += new SelectedEventHandler (OnObjectSelected); designerControl.ReportControl.ObjectSelected += new SelectedEventHandler (OnObjectSelected);
PropertyPad.Grid.SelectedObject = designerControl.ReportModel.ReportSettings; PropertyPad.Grid.SelectedObject = designerControl.ReportModel.ReportSettings;
PropertyPad.Grid.Refresh(); PropertyPad.Grid.Refresh();
this.designerControl.ReportModel.ReportSettings.AvailableFieldsCollection = reportManager.AvailableFieldsCollection;
} catch (Exception e) { } catch (Exception e) {
MessageService.ShowError(e.Message); MessageService.ShowError(e.Message);
throw ; throw ;
@ -555,8 +532,6 @@ namespace SharpReportAddin{
#region ICSharpCode.SharpDevelop.Gui.IPrintable interface implementation #region ICSharpCode.SharpDevelop.Gui.IPrintable interface implementation
public System.Drawing.Printing.PrintDocument PrintDocument { public System.Drawing.Printing.PrintDocument PrintDocument {
get { get {
System.Console.WriteLine("");
System.Console.WriteLine("!! PrintDocument !!");
AbstractRenderer renderer; AbstractRenderer renderer;
if (this.designerControl.ReportModel.DataModel == GlobalEnums.enmPushPullModel.PushData) { if (this.designerControl.ReportModel.DataModel == GlobalEnums.enmPushPullModel.PushData) {
renderer = reportManager.GetRendererForPushDataReports(this.designerControl.ReportModel, renderer = reportManager.GetRendererForPushDataReports(this.designerControl.ReportModel,

16
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/BaseFunction.cs

@ -17,20 +17,28 @@ namespace SharpReportCore {
/// BaseClass for all Functions /// BaseClass for all Functions
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// created by - Forstmeier Helmut /// created by - Forstmeier Peter
/// created on - 05.09.2005 22:25:18 /// created on - 05.09.2005 22:25:18
/// </remarks> /// </remarks>
public class BaseFunction : SharpReportCore.BaseTextItem { public class BaseFunction : SharpReportCore.BaseTextItem {
string friendlyName;
// private string formatString = String.Empty;
public BaseFunction():base() { public BaseFunction():base() {
} }
public BaseFunction(string friendlyName)
{
this.friendlyName = friendlyName;
}
#region properties #region properties
public virtual string FriendlyName {
get {
return friendlyName;
}
}
#endregion #endregion
} }
} }

4
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/BaseGraphicItem.cs

@ -34,8 +34,9 @@ namespace SharpReportCore {
protected SizeF MeasureReportItem (SharpReportCore.ReportPageEventArgs rpea,IItemRenderer item) { protected SizeF MeasureReportItem (SharpReportCore.ReportPageEventArgs rpea,IItemRenderer item) {
if (item == null) { if (item == null) {
throw new ArgumentException(this.Name); throw new ArgumentNullException("item","BaseGraphicItem");
} }
return new SizeF (item.Size.Width,item.Size.Height); return new SizeF (item.Size.Width,item.Size.Height);
} }
@ -68,7 +69,6 @@ namespace SharpReportCore {
} }
set { set {
dashStyle = value; dashStyle = value;
// base.NotifyPropertyChanged("FormatString",true);
base.NotifyPropertyChanged("FormatString"); base.NotifyPropertyChanged("FormatString");
} }
} }

3
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/BaseTextItem.cs

@ -34,6 +34,9 @@ namespace SharpReportCore {
} }
public override void Render(ReportPageEventArgs rpea) { public override void Render(ReportPageEventArgs rpea) {
if (rpea == null) {
throw new ArgumentNullException("rpea","BasetextItem:Render");
}
base.Render(rpea); base.Render(rpea);
RectangleF rect = PrepareRectangle (rpea,this.Text); RectangleF rect = PrepareRectangle (rpea,this.Text);
PrintTheStuff (rpea,this.Text,rect); PrintTheStuff (rpea,this.Text,rect);

32
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Functions/BasePageNumber.cs

@ -10,27 +10,30 @@
using System; using System;
using System.Globalization;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
/// <summary> /// <summary>
/// BaseClass for PageNumbers /// BaseClass for PageNumbers
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// created by - Forstmeier Peter /// created by - Forstmeier Peter
/// created on - 12.09.2005 22:34:54 /// created on - 12.09.2005 22:34:54
/// </remarks> /// </remarks>
namespace SharpReportCore { namespace SharpReportCore {
public class BasePageNumber : BaseFunction { public class BasePageNumber : BaseFunction {
static string fnName = "PageNumber";
public BasePageNumber():base() { public BasePageNumber():base(fnName) {
} }
public override void Render(ReportPageEventArgs e) { public override void Render(ReportPageEventArgs e) {
base.Render(e); base.Render(e);
string formattedString = base.FireFormatOutput(e.PageNumber.ToString(), string formattedString = base.FireFormatOutput(e.PageNumber.ToString(CultureInfo.InvariantCulture),
base.FormatString,""); base.FormatString,"");
@ -42,7 +45,7 @@ namespace SharpReportCore {
fmt.Alignment = StringAlignment.Far; fmt.Alignment = StringAlignment.Far;
fmt.LineAlignment = StringAlignment.Near; fmt.LineAlignment = StringAlignment.Near;
e.PrintPageEventArgs.Graphics.DrawString(e.PageNumber.ToString(), e.PrintPageEventArgs.Graphics.DrawString(e.PageNumber.ToString(CultureInfo.InvariantCulture),
this.Font, this.Font,
Brushes.Black, Brushes.Black,
rect, rect,
@ -52,9 +55,16 @@ namespace SharpReportCore {
} }
public override string ToString() { public override string ToString() {
return "BasePageNumber"; return "PageNumber";
}
public override string FriendlyName {
get {
return base.FriendlyName;
}
} }
} }
} }

7
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Functions/BaseToday.cs

@ -20,8 +20,9 @@ using System.Globalization;
namespace SharpReportCore { namespace SharpReportCore {
public class BaseToday : BaseFunction { public class BaseToday : BaseFunction {
static string fnName = "Date";
public BaseToday() { public BaseToday():base(fnName) {
} }
public override void Render(ReportPageEventArgs e) { public override void Render(ReportPageEventArgs e) {
@ -50,7 +51,7 @@ namespace SharpReportCore {
} }
public override string ToString() { public override string ToString() {
return "BaseToday"; return "Today";
} }

2
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseCircleItem.cs

@ -11,7 +11,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
/// <summary> /// <summary>
/// TODO - Add class summary ///This class drwas a Circle
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// created by - Forstmeier Peter /// created by - Forstmeier Peter

4
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseImageItem.cs

@ -9,6 +9,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
using System; using System;
using System.Globalization;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Drawing.Design; using System.Drawing.Design;
@ -42,7 +43,8 @@ namespace SharpReportCore {
this.image = null; this.image = null;
this.image = Image.FromFile (fName); this.image = Image.FromFile (fName);
if (image == null) { if (image == null) {
string str = String.Format("Unable to Load {0}",fName); string str = String.Format(CultureInfo.InvariantCulture,
"Unable to Load {0}",fName);
throw new ApplicationException(str); throw new ApplicationException(str);
} }
} catch (Exception) { } catch (Exception) {

2
src/AddIns/Misc/SharpReport/SharpReportCore/BaseItems/Graphics/BaseRectangleItem.cs

@ -16,7 +16,7 @@ using System.ComponentModel;
using System.Drawing; using System.Drawing;
/// <summary> /// <summary>
/// TODO - Add class summary /// This class draws a Rectangle
/// </summary> /// </summary>
/// <remarks> /// <remarks>
/// created by - Forstmeier Peter /// created by - Forstmeier Peter

6
src/AddIns/Misc/SharpReport/SharpReportCore/BaseSettings.cs

@ -87,7 +87,7 @@ namespace SharpReportCore {
this.graphicsUnit = GraphicsUnit.Millimeter; this.graphicsUnit = GraphicsUnit.Millimeter;
} }
private string MakePoperFilename (string file) { private static string MakePoperFilename (string file) {
if (file.EndsWith (GlobalValues.SharpReportExtension)) { if (file.EndsWith (GlobalValues.SharpReportExtension)) {
return file; return file;
@ -112,13 +112,13 @@ namespace SharpReportCore {
} }
#region Properties #region Properties
protected string DefaultReportName { protected static string DefaultReportName {
get { get {
return defaultReportName; return defaultReportName;
} }
} }
protected string DefaultFileName { protected static string DefaultFileName {
get { get {
return GlobalValues.SharpReportPlainFileName; return GlobalValues.SharpReportPlainFileName;
} }

23
src/AddIns/Misc/SharpReport/SharpReportCore/Dialogs/PreviewControl.cs

@ -33,11 +33,14 @@ namespace SharpReportCore{
} }
public void ShowPreview (AbstractRenderer renderer,double zoomFaktor,bool standAlone) { public void ShowPreview (AbstractRenderer renderer,double zoomFaktor,bool standAlone) {
if (renderer == null) {
throw new ArgumentNullException("renderer");
}
if (renderer.Cancel == false) { if (renderer.Cancel == false) {
if (standAlone) { if (standAlone) {
this.ShowPreviewWithUserControl (renderer,1.5); this.ShowPreviewWithUserControl (renderer,zoomFaktor);
} else { } else {
ShowPreviewWithDialog(renderer,1.5); ShowPreviewWithDialog(renderer,zoomFaktor);
} }
} }
} }
@ -46,20 +49,6 @@ namespace SharpReportCore{
System.Drawing.Printing.PrintDocument doc = renderer.ReportDocument; System.Drawing.Printing.PrintDocument doc = renderer.ReportDocument;
/*
System.Drawing.Printing.PrintDocument doc =
new System.Drawing.Printing.PrintDocument();
doc.BeginPrint +=
new PrintEventHandler (renderer.ReportDocument.ReportDocumentBeginPrint);
doc.PrintPage +=
new System.Drawing.Printing.PrintPageEventHandler(renderer.ReportDocument.ReportDocumentPrintPage);
doc.EndPrint +=
new PrintEventHandler (renderer.ReportDocument.ReportDocumentEndPrint);
doc.QueryPageSettings +=
new QueryPageSettingsEventHandler (renderer.ReportDocument.ReportDocumentQueryPage);
System.Console.WriteLine("\t All events are set");
*/
printPreviewControl1.Document = null; printPreviewControl1.Document = null;
printPreviewControl1.Document = doc; printPreviewControl1.Document = doc;
@ -69,7 +58,7 @@ namespace SharpReportCore{
} }
private void ShowPreviewWithDialog (AbstractRenderer renderer,double zoomFaktor) { private void ShowPreviewWithDialog (AbstractRenderer renderer,double zoomFaktor) {
System.Console.WriteLine("PaintArea:WithDialog");
System.Drawing.Printing.PrintDocument doc = renderer.ReportDocument; System.Drawing.Printing.PrintDocument doc = renderer.ReportDocument;
previewDlg.Document = doc; previewDlg.Document = doc;

13
src/AddIns/Misc/SharpReport/SharpReportCore/Printing/AbstractRenderer.cs

@ -21,6 +21,7 @@
using System; using System;
using System.Globalization;
using System.Windows.Forms; using System.Windows.Forms;
using System.Drawing; using System.Drawing;
using System.Drawing.Printing; using System.Drawing.Printing;
@ -89,7 +90,7 @@ namespace SharpReportCore {
int to = rpea.PrintPageEventArgs.MarginBounds.Height ; int to = rpea.PrintPageEventArgs.MarginBounds.Height ;
if (rpea.PageNumber ==1) { if (rpea.PageNumber ==1) {
to -= sections[Convert.ToInt16(GlobalEnums.enmSection.ReportHeader)].Size.Height; to -= sections[Convert.ToInt16(GlobalEnums.enmSection.ReportHeader,CultureInfo.InvariantCulture)].Size.Height;
} }
to -= sections[Convert.ToInt16(GlobalEnums.enmSection.ReportPageHeader)].Size.Height; to -= sections[Convert.ToInt16(GlobalEnums.enmSection.ReportPageHeader)].Size.Height;
@ -111,7 +112,7 @@ namespace SharpReportCore {
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
protected Rectangle DetailRectangle (ReportPageEventArgs e) { protected Rectangle DetailRectangle (ReportPageEventArgs e) {
sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportDetail); sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportDetail,CultureInfo.InvariantCulture);
Rectangle rect = new Rectangle (e.PrintPageEventArgs.MarginBounds.Left, Rectangle rect = new Rectangle (e.PrintPageEventArgs.MarginBounds.Left,
CurrentSection.SectionOffset , CurrentSection.SectionOffset ,
@ -130,7 +131,7 @@ namespace SharpReportCore {
float offset = 0; float offset = 0;
BaseSection section = null; BaseSection section = null;
if (e.PageNumber == 1) { if (e.PageNumber == 1) {
sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportHeader); sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportHeader,CultureInfo.InvariantCulture);
section = CurrentSection; section = CurrentSection;
section.SectionOffset = reportSettings.DefaultMargins.Top; section.SectionOffset = reportSettings.DefaultMargins.Top;
@ -150,7 +151,7 @@ namespace SharpReportCore {
protected PointF DrawPageheader (PointF startat,ReportPageEventArgs e) { protected PointF DrawPageheader (PointF startat,ReportPageEventArgs e) {
float offset = 0F; float offset = 0F;
BaseSection section = null; BaseSection section = null;
sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportPageHeader); sectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportPageHeader,CultureInfo.InvariantCulture);
section = CurrentSection; section = CurrentSection;
if (e.PageNumber == 1) { if (e.PageNumber == 1) {
@ -168,8 +169,6 @@ namespace SharpReportCore {
protected int RenderSection (BaseSection section,ReportPageEventArgs e) { protected int RenderSection (BaseSection section,ReportPageEventArgs e) {
Point drawPoint = new Point(0,0); Point drawPoint = new Point(0,0);
if (section.Visible){ if (section.Visible){
// section.Render (reportSettings,e);
section.Render (e); section.Render (e);
foreach (BaseReportItem rItem in section.Items) { foreach (BaseReportItem rItem in section.Items) {
@ -306,7 +305,7 @@ namespace SharpReportCore {
} }
protected virtual void BeginPrintPage (object sender,ReportPageEventArgs e) { protected virtual void BeginPrintPage (object sender,ReportPageEventArgs e) {
SectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportPageHeader); SectionInUse = Convert.ToInt16(GlobalEnums.enmSection.ReportPageHeader,CultureInfo.InvariantCulture);
} }
protected virtual void PrintBodyStart (object sender,ReportPageEventArgs e) { protected virtual void PrintBodyStart (object sender,ReportPageEventArgs e) {

108
src/AddIns/Misc/SharpReport/SharpReportCore/Printing/Formatter/DefaultFormatter.cs

@ -18,19 +18,19 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// Peter Forstmeier (Peter.Forstmeier@t-online.de) // Peter Forstmeier (Peter.Forstmeier@t-online.de)
using System;
using System.Globalization;
//using System.Windows.Forms;
/// <summary>
/// This Class handles the formatting of Output Values depending on there
/// Type and DbValue
/// </summary>
/// <remarks>
/// created by - Forstmeier Peter
/// created on - 30.03.2005 09:14:20
/// </remarks>
namespace SharpReportCore{ namespace SharpReportCore{
using System;
using System.Globalization;
using System.Windows.Forms;
/// <summary>
/// This Class handles the formatting of Output Values depending on there
/// Type and DbValue
/// </summary>
/// <remarks>
/// created by - Forstmeier Peter
/// created on - 30.03.2005 09:14:20
/// </remarks>
public class DefaultFormatter : AbstractFormatter { public class DefaultFormatter : AbstractFormatter {
@ -44,35 +44,31 @@ namespace SharpReportCore{
/// ///
public string FormatItem (BaseDataItem item) { public string FormatItem (BaseDataItem item) {
string retValue = String.Empty; string retValue = String.Empty;
try {
switch (item.DataType) { switch (item.DataType) {
case "System.DateTime" : case "System.DateTime" :
retValue = DateValues(item.DbValue,item.FormatString); retValue = DateValues(item.DbValue,item.FormatString);
break; break;
case "System.Int16": case "System.Int16":
retValue = IntegerValues ("16",item.DbValue,item.FormatString); retValue = IntegerValues ("16",item.DbValue,item.FormatString);
break; break;
case "System.Int32" : case "System.Int32" :
retValue = IntegerValues ("32",item.DbValue,item.FormatString); retValue = IntegerValues ("32",item.DbValue,item.FormatString);
break; break;
case "System.Decimal": case "System.Decimal":
retValue = DecimalValues (item.DbValue,item.FormatString); retValue = DecimalValues (item.DbValue,item.FormatString);
break; break;
case "System.Boolean": case "System.Boolean":
retValue = BoolValue (item.DbValue,item.FormatString); retValue = BoolValue (item.DbValue,item.FormatString);
break; break;
default: default:
retValue = item.DbValue; retValue = item.DbValue;
break; break;
}
} catch (Exception) {
throw ;
} }
return retValue; return retValue;
} }
@ -83,12 +79,11 @@ namespace SharpReportCore{
if (base.CheckValue (toFormat)) { if (base.CheckValue (toFormat)) {
try { try {
bool b = bool.Parse (toFormat); bool b = bool.Parse (toFormat);
// bool b = Convert.ToBoolean(toFormat,CultureInfo.CurrentCulture);
str = b.ToString (CultureInfo.CurrentCulture); str = b.ToString (CultureInfo.CurrentCulture);
} catch (Exception e) { } catch (System.FormatException) {
string s = String.Format("\tBool Value < {0} > {1}",toFormat,e.Message); // string s = String.Format("\tBool Value < {0} > {1}",toFormat,e.Message);
System.Console.WriteLine("\t\t{0}",s); // System.Console.WriteLine("\t\t{0}",s);
} }
} }
} else { } else {
@ -108,28 +103,25 @@ namespace SharpReportCore{
number = Int16.Parse (toFormat, number = Int16.Parse (toFormat,
System.Globalization.NumberStyles.Any, System.Globalization.NumberStyles.Any,
CultureInfo.CurrentCulture.NumberFormat); CultureInfo.CurrentCulture.NumberFormat);
// number = Convert.ToInt16 (toFormat,NumberFormatInfo.CurrentInfo);
break; break;
case "32" : case "32" :
number = Int32.Parse (toFormat, number = Int32.Parse (toFormat,
System.Globalization.NumberStyles.Any, System.Globalization.NumberStyles.Any,
CultureInfo.CurrentCulture.NumberFormat); CultureInfo.CurrentCulture.NumberFormat);
// number = Convert.ToInt32 (toFormat,NumberFormatInfo.CurrentInfo);
break; break;
default: default:
throw new ArgumentException("DefaultFormater:IntegerValues Unknown intType "); throw new ArgumentException("DefaultFormater:IntegerValues Unknown intType ");
} }
str = number.ToString (format); str = number.ToString (format,CultureInfo.CurrentCulture);
} catch (Exception e) { } catch (System.FormatException) {
string s = String.Format("\tDecimalValue < {0} > {1}",toFormat,e.Message); // string s = String.Format("\tDecimalValue < {0} > {1}",toFormat,e.Message);
System.Console.WriteLine("\t{0}",s); // System.Console.WriteLine("\t{0}",s);
} }
return str; return str;
} else { } else {
str = (0.0M).ToString(); str = (0.0M).ToString(CultureInfo.CurrentCulture);
} }
} else { } else {
@ -147,17 +139,15 @@ namespace SharpReportCore{
decimal dec = Decimal.Parse(toFormat, decimal dec = Decimal.Parse(toFormat,
System.Globalization.NumberStyles.Any, System.Globalization.NumberStyles.Any,
CultureInfo.CurrentCulture.NumberFormat); CultureInfo.CurrentCulture.NumberFormat);
str = dec.ToString (format,CultureInfo.CurrentCulture);
// decimal dec = Convert.ToDecimal (toFormat,NumberFormatInfo.InvariantInfo); } catch (System.FormatException) {
str = dec.ToString (format); // string s = String.Format("\tDecimalValue < {0} > {1}",toFormat,e.Message);
// System.Console.WriteLine("\t{0}",s);
} catch (Exception e) {
string s = String.Format("\tDecimalValue < {0} > {1}",toFormat,e.Message);
System.Console.WriteLine("\t{0}",s);
} }
return str; return str;
} else { } else {
str = (0.0M).ToString(); str = (0.0M).ToString(CultureInfo.CurrentCulture);
} }
} else { } else {
@ -176,9 +166,9 @@ namespace SharpReportCore{
DateTimeFormatInfo.CurrentInfo); DateTimeFormatInfo.CurrentInfo);
return str.Trim(); return str.Trim();
} catch (Exception e) { } catch (System.FormatException) {
string s = String.Format("< {0} > {1}",toFormat,e.Message); // string s = String.Format("< {0} > {1}",toFormat,e.Message);
System.Console.WriteLine("\t\tDateValue {0}",s); // System.Console.WriteLine("\t\tDateValue {0}",s);
} }
} else { } else {
return toFormat.Trim(); return toFormat.Trim();

48
src/AddIns/Misc/SharpReport/SharpReportCore/SharpReportEngine.cs

@ -20,10 +20,10 @@
// Peter Forstmeier (Peter.Forstmeier@t-online.de) // Peter Forstmeier (Peter.Forstmeier@t-online.de)
using System; using System;
using System.Drawing.Printing;
using System.Windows.Forms;
using System.Data; using System.Data;
using System.Data.OleDb; using System.Data.OleDb;
using System.Drawing.Printing;
using System.Windows.Forms;
using SharpReportCore; using SharpReportCore;
@ -55,10 +55,9 @@ namespace SharpReportCore {
#region ParameterHandling #region ParameterHandling
private bool CheckReportParameters (ReportModel model,ReportParameters reportParameters) { private bool CheckReportParameters (ReportModel model,ReportParameters reportParameters) {
System.Console.WriteLine("Engine");
if (model.ReportSettings.ReportType != GlobalEnums.enmReportType.FormSheet) { if (model.ReportSettings.ReportType != GlobalEnums.enmReportType.FormSheet) {
if (this.connectionObject == null) { if (this.connectionObject == null) {
System.Console.WriteLine("\t look for ConStr");
if (model.ReportSettings.ConnectionString != "") { if (model.ReportSettings.ConnectionString != "") {
this.connectionObject = new ConnectionObject (model.ReportSettings.ConnectionString,"",""); this.connectionObject = new ConnectionObject (model.ReportSettings.ConnectionString,"","");
} }
@ -67,7 +66,6 @@ namespace SharpReportCore {
this.connectionObject = reportParameters.ConnectionObject; this.connectionObject = reportParameters.ConnectionObject;
} }
if (this.connectionObject.Connection != null) { if (this.connectionObject.Connection != null) {
return true; return true;
} else { } else {
@ -93,9 +91,7 @@ namespace SharpReportCore {
} }
void SetSqlParameters (ReportModel model,AbstractParametersCollection sqlParams) { void SetSqlParameters (ReportModel model,AbstractParametersCollection sqlParams) {
if ((sqlParams == null)||(sqlParams.Count == 0)) { if ((sqlParams == null)||(sqlParams.Count == 0)) {
return; return;
@ -104,7 +100,7 @@ namespace SharpReportCore {
model.ReportSettings.SqlParametersCollection.AddRange(sqlParams); model.ReportSettings.SqlParametersCollection.AddRange(sqlParams);
} }
void SetCustomSorting (ReportModel model,ColumnCollection sortParams) { private static void SetCustomSorting (ReportModel model,ColumnCollection sortParams) {
if ((sortParams == null)||(sortParams.Count == 0)) { if ((sortParams == null)||(sortParams.Count == 0)) {
return; return;
} }
@ -125,7 +121,7 @@ namespace SharpReportCore {
#endregion #endregion
#region Setup for print/preview #region Setup for print/preview
private bool CheckForPushModel (ReportModel model) { private static bool CheckForPushModel (ReportModel model) {
if (model.ReportSettings.DataModel == GlobalEnums.enmPushPullModel.PushData) { if (model.ReportSettings.DataModel == GlobalEnums.enmPushPullModel.PushData) {
return true; return true;
} else { } else {
@ -159,7 +155,7 @@ namespace SharpReportCore {
} }
catch (System.Data.OleDb.OleDbException e) { catch (System.Data.OleDb.OleDbException e) {
MessageBox.Show (e.Message,"SharpReportEngine:SetupDataContainer"); throw e;
} }
catch (Exception) { catch (Exception) {
throw; throw;
@ -171,19 +167,18 @@ namespace SharpReportCore {
protected ColumnCollection CollectFieldsFromModel(ReportModel model){ protected ColumnCollection CollectFieldsFromModel(ReportModel model){
ColumnCollection col = new ColumnCollection();
if (model == null) { if (model == null) {
return col; throw new ArgumentNullException("model");
} }
ColumnCollection col = new ColumnCollection();
foreach (BaseSection section in model.SectionCollection){ foreach (BaseSection section in model.SectionCollection){
for (int i = 0;i < section.Items.Count ;i ++ ) { for (int i = 0;i < section.Items.Count ;i ++ ) {
IItemRenderer item = section.Items[i]; IItemRenderer item = section.Items[i];
BaseDataItem baseItem = item as BaseDataItem; BaseDataItem baseItem = item as BaseDataItem;
if (baseItem != null) { if (baseItem != null) {
col.Add(new AbstractColumn(baseItem.ColumnName)); col.Add(new AbstractColumn(baseItem.ColumnName));
} }
} }
} }
return col; return col;
@ -234,7 +229,6 @@ namespace SharpReportCore {
protected SharpReportCore.AbstractRenderer SetupPushDataRenderer (ReportModel model, protected SharpReportCore.AbstractRenderer SetupPushDataRenderer (ReportModel model,
DataTable dataTable) { DataTable dataTable) {
System.Console.WriteLine("SetupPushDataRenderer with {0}",dataTable.Rows.Count);
if (model.ReportSettings.ReportType != GlobalEnums.enmReportType.DataReport) { if (model.ReportSettings.ReportType != GlobalEnums.enmReportType.DataReport) {
throw new ArgumentException("SetupPushDataRenderer <No valid ReportModel>"); throw new ArgumentException("SetupPushDataRenderer <No valid ReportModel>");
@ -352,26 +346,20 @@ namespace SharpReportCore {
} }
ReportModel model = null; ReportModel model = null;
AbstractRenderer renderer = null; AbstractRenderer renderer = null;
// PrintDocument doc = null;
try { try {
model = ModelFromFile (fileName); model = ModelFromFile (fileName);
if (!this.CheckForPushModel(model)) { if (!CheckForPushModel(model)) {
throw new SharpReportException ("PrintPushdataReport: No valid ReportModel"); throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
} }
renderer = SetupPushDataRenderer (model,dataTable); renderer = this.SetupPushDataRenderer (model,dataTable);
if (renderer != null) { if (renderer != null) {
PreviewControl.ShowPreview(renderer,1.5,false); PreviewControl.ShowPreview(renderer,1.5,false);
} }
// if (renderer.Cancel == false) {
// doc = renderer.ReportDocument;
// PreviewControl.ShowPreviewWithDialog (renderer,1.5);
// }
} catch (Exception) { } catch (Exception) {
} }
} }
#endregion #endregion
@ -454,7 +442,7 @@ namespace SharpReportCore {
AbstractRenderer renderer = null; AbstractRenderer renderer = null;
try { try {
model = ModelFromFile (fileName); model = ModelFromFile (fileName);
if (!this.CheckForPushModel(model)) { if (!CheckForPushModel(model)) {
throw new SharpReportException ("PrintPushdataReport: No valid ReportModel"); throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
} }
@ -475,21 +463,21 @@ namespace SharpReportCore {
/// <param name="dataTable"></param> /// <param name="dataTable"></param>
public void PrintPushDataReport (string fileName,DataTable dataTable) { public void PrintPushDataReport (string fileName,DataTable dataTable) {
if (fileName.Length == 0) { if (fileName.Length == 0) {
throw new ArgumentException("PreviewPushDataReport FileName"); throw new ArgumentNullException("fileName");
} }
if (dataTable == null) { if (dataTable == null) {
throw new ArgumentNullException("PreviewPushDataReport DataTable"); throw new ArgumentNullException("dataTable");
} }
ReportModel model = null; ReportModel model = null;
AbstractRenderer renderer = null; AbstractRenderer renderer = null;
try { try {
model = ModelFromFile (fileName); model = ModelFromFile (fileName);
if (!this.CheckForPushModel(model)) { if (!CheckForPushModel(model)) {
throw new SharpReportException ("PrintPushdataReport: No valid ReportModel"); throw new SharpReportException ("PrintPushdataReport: No valid ReportModel");
} }
renderer = SetupPushDataRenderer (model,dataTable); renderer = this.SetupPushDataRenderer (model,dataTable);
this.ReportToPrinter(renderer,model); this.ReportToPrinter(renderer,model);
} catch (Exception) { } catch (Exception) {
@ -512,7 +500,7 @@ namespace SharpReportCore {
protected ReportModel ModelFromFile (string fileName) { protected ReportModel ModelFromFile (string fileName) {
if (fileName.Length == 0) { if (fileName.Length == 0) {
throw new ArgumentException("ModelfromFile:FileName"); throw new ArgumentNullException("fileName");
} }
try { try {

Loading…
Cancel
Save