Browse Source

ReportExplorer show GroupNode and childs

4.1
peterforstmeier 14 years ago
parent
commit
70deb79a76
  1. 6
      src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs
  2. 9
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerNodes.cs
  3. 97
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs
  4. 2
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs
  5. 3
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs
  6. 6
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs
  7. 8
      src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs

6
src/AddIns/DisplayBindings/Data/ICSharpCode.Data.SQLServer/SQLServerDatabaseDriver.cs

@ -177,7 +177,11 @@ namespace ICSharpCode.Data.Core.DatabaseDrivers.SQLServer
SqlConnection sqlConnection = null; SqlConnection sqlConnection = null;
sqlConnection = new SqlConnection(); sqlConnection = new SqlConnection();
sqlConnection.ConnectionString = datasource.ConnectionString; sqlConnection.ConnectionString = datasource.ConnectionString;
var sq = new System.Data.SqlClient.SqlConnectionStringBuilder();
sq.ConnectionString = sqlConnection.ConnectionString;
try try
{ {
sqlConnection.Open(); sqlConnection.Open();

9
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerNodes.cs

@ -90,6 +90,11 @@ namespace ICSharpCode.Reports.Addin
{ {
ListSortDirection listSortDirection; ListSortDirection listSortDirection;
public SortColumnNode(string nodeName,string contextMenuPath):this(nodeName,0,contextMenuPath)
{
}
public SortColumnNode(string nodeName,int imageIndex,string contextMenuPath):base(nodeName,contextMenuPath) public SortColumnNode(string nodeName,int imageIndex,string contextMenuPath):base(nodeName,contextMenuPath)
{ {
this.ImageIndex = imageIndex; this.ImageIndex = imageIndex;
@ -107,6 +112,10 @@ namespace ICSharpCode.Reports.Addin
internal class GroupColumnNode:SortColumnNode internal class GroupColumnNode:SortColumnNode
{ {
public GroupColumnNode (string nodeName,string contextMenuPath):this(nodeName,0,contextMenuPath)
{
}
public GroupColumnNode (string nodeName,int imageIndex,string contextMenuPath):base(nodeName,imageIndex,contextMenuPath) public GroupColumnNode (string nodeName,int imageIndex,string contextMenuPath):base(nodeName,imageIndex,contextMenuPath)
{ {

97
src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportExplorer/ExplorerTree.cs

@ -5,12 +5,12 @@ using System;
using System.ComponentModel; using System.ComponentModel;
using System.Drawing; using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using System.Linq;
using ICSharpCode.Core; using ICSharpCode.Core;
using ICSharpCode.Core.WinForms; using ICSharpCode.Core.WinForms;
using ICSharpCode.Reports.Core; using ICSharpCode.Reports.Core;
using ICSharpCode.SharpDevelop; using ICSharpCode.SharpDevelop;
using ICSharpCode.Reports.Core.BaseClasses;
namespace ICSharpCode.Reports.Addin namespace ICSharpCode.Reports.Addin
{ {
@ -19,9 +19,11 @@ namespace ICSharpCode.Reports.Addin
/// </summary> /// </summary>
internal class ExplorerTree:TreeView,INotifyPropertyChanged internal class ExplorerTree:TreeView,INotifyPropertyChanged
{ {
private const string sortColumnMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode"; private const string sortColumnMenuPath = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode";
private const string sectionContextMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/SectionTreeNode"; private const string sectionContextMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/SectionTreeNode";
private const string parameterEditorMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ParameterNode"; private const string parameterEditorMenu = "/SharpDevelopReports/ContextMenu/FieldsExplorer/ParameterNode";
private const string groupContextMenuPath ="/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode";
private SectionNode nodeRoot; private SectionNode nodeRoot;
private SectionNode nodeModel; private SectionNode nodeModel;
@ -130,7 +132,7 @@ namespace ICSharpCode.Reports.Addin
{ {
SortColumnNode sortNode = new SortColumnNode (node.Text, SortColumnNode sortNode = new SortColumnNode (node.Text,
ExplorerTree.ascendingIcon, ExplorerTree.ascendingIcon,
ExplorerTree.sortColumnMenu); ExplorerTree.sortColumnMenuPath);
sortNode.SortDirection = ListSortDirection.Ascending; sortNode.SortDirection = ListSortDirection.Ascending;
this.SelectedNode = sortNode; this.SelectedNode = sortNode;
@ -147,7 +149,7 @@ namespace ICSharpCode.Reports.Addin
{ {
this.nodeSorting.Nodes.Clear(); this.nodeSorting.Nodes.Clear();
GroupColumnNode groupNode = new GroupColumnNode(node.Text,ExplorerTree.ascendingIcon, GroupColumnNode groupNode = new GroupColumnNode(node.Text,ExplorerTree.ascendingIcon,
ExplorerTree.sortColumnMenu); ExplorerTree.sortColumnMenuPath);
groupNode.SortDirection = ListSortDirection.Ascending; groupNode.SortDirection = ListSortDirection.Ascending;
this.SelectedNode = groupNode; this.SelectedNode = groupNode;
sectionNode.Nodes.Add(groupNode); sectionNode.Nodes.Add(groupNode);
@ -284,37 +286,44 @@ namespace ICSharpCode.Reports.Addin
#region FillTree #region FillTree
private void SetSortColumns()
{
this.nodeSorting.Nodes.Clear();
SortColumnNode scn = null;
foreach (SortColumn sc in this.reportModel.ReportSettings.SortColumnsCollection){
if (sc.SortDirection == ListSortDirection.Ascending) {
scn = new SortColumnNode (sc.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode");
} else {
scn = new SortColumnNode (sc.ColumnName,descendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnSortTreeNode");
}
this.nodeSorting.Nodes.Add(scn);
}
}
private void SetGroupColumns() private void SetGroupColumns()
{ {
this.nodeGrouping.Nodes.Clear();
GroupColumnNode groupNode = null;
foreach (GroupColumn groupColumn in this.reportModel.ReportSettings.GroupColumnsCollection) foreach (GroupColumn groupColumn in this.reportModel.ReportSettings.GroupColumnsCollection)
{ {
var groupNode = new GroupColumnNode(groupColumn.ColumnName,groupContextMenuPath);
if (groupColumn.SortDirection == ListSortDirection.Ascending) { if (groupColumn.SortDirection == ListSortDirection.Ascending) {
groupNode = new GroupColumnNode (groupColumn.ColumnName,ascendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode"); groupNode.ImageIndex = ascendingIcon;
} else { } else {
groupNode = new GroupColumnNode (groupColumn.ColumnName,descendingIcon,"/SharpDevelopReports/ContextMenu/FieldsExplorer/ColumnGroupTreeNode"); groupNode.ImageIndex = descendingIcon;
} }
this.nodeGrouping.Nodes.Add(groupNode); this.nodeGrouping.Nodes.Add(groupNode);
foreach (var p in this.reportModel.ReportSettings.AvailableFieldsCollection.Where(p => (p.ColumnName != groupColumn.ColumnName)))
{
var cn = new ColumnNode(p.ColumnName,columnIcon);
groupNode.Nodes.Add(cn);
}
} }
} }
public void BuildTree ()
{
this.BeginUpdate();
this.nodeAvailableFields.Nodes.Clear();
this.nodeSorting.Nodes.Clear();
this.nodeGrouping.Nodes.Clear();
this.nodeParams.Nodes.Clear();
this.reportModel.ReportSettings.AvailableFieldsCollection.ForEach(SetAvailableFields);
this.reportModel.ReportSettings.SortColumnsCollection.ForEach(SetSortColumns);
SetGroupColumns();
this.reportModel.ReportSettings.ParameterCollection.ForEach(SetParams);
// SetFunctions();
this.ExpandAll();
this.EndUpdate();
}
private void SetAvailableFields (AbstractColumn af) private void SetAvailableFields (AbstractColumn af)
{ {
ColumnNode node = new ColumnNode(af.ColumnName,columnIcon); ColumnNode node = new ColumnNode(af.ColumnName,columnIcon);
@ -324,32 +333,31 @@ namespace ICSharpCode.Reports.Addin
} }
private void SetParameters () private void SetSortColumns (AbstractColumn column)
{ {
this.nodeParams.Nodes.Clear(); SortColumn sortColumn = column as SortColumn;
foreach (BasicParameter p in this.reportModel.ReportSettings.ParameterCollection)
{ if (sortColumn != null) {
string s = String.Format(System.Globalization.CultureInfo.CurrentCulture, var sortColumnNode = new SortColumnNode (sortColumn.ColumnName,sortColumnMenuPath);
"{0}[{1}]",p.ParameterName,p.ParameterValue);
ParameterNode node = new ParameterNode(s,columnIcon); if (sortColumn.SortDirection == ListSortDirection.Ascending) {
this.nodeParams.Nodes.Add(node); sortColumnNode.ImageIndex = ascendingIcon;
} else {
sortColumnNode.ImageIndex = descendingIcon;
}
this.nodeSorting.Nodes.Add(sortColumnNode);
} }
} }
private void SetParams (BasicParameter p)
public void BuildTree ()
{ {
this.BeginUpdate(); string s = String.Format(System.Globalization.CultureInfo.CurrentCulture,
this.reportModel.ReportSettings.AvailableFieldsCollection.ForEach(SetAvailableFields); "{0}[{1}]",p.ParameterName,p.ParameterValue);
SetSortColumns(); ParameterNode node = new ParameterNode(s,columnIcon);
SetGroupColumns(); this.nodeParams.Nodes.Add(node);
SetParameters();
// SetFunctions();
this.ExpandAll();
this.EndUpdate();
} }
#endregion #endregion
#region Build Basic Tree #region Build Basic Tree
@ -394,7 +402,6 @@ namespace ICSharpCode.Reports.Addin
nodeParams.SelectedImageIndex = folderOpen; nodeParams.SelectedImageIndex = folderOpen;
nodeParams.ContextMenuAddinTreePath = ExplorerTree.parameterEditorMenu; nodeParams.ContextMenuAddinTreePath = ExplorerTree.parameterEditorMenu;
this.nodeModel.Nodes.Add(this.nodeParams); this.nodeModel.Nodes.Add(this.nodeParams);
this.nodeRoot.Nodes.Add(nodeModel); this.nodeRoot.Nodes.Add(nodeModel);

2
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/BaseClasses/ExtensionMethodes.cs

@ -11,7 +11,7 @@ using System.Collections.Generic;
using System.Windows; using System.Windows;
using System.Windows.Media; using System.Windows.Media;
namespace ICSharpCode.Reports.Core namespace ICSharpCode.Reports.Core.BaseClasses
{ {
/// <summary> /// <summary>
/// Description of ExtensionMethodes. /// Description of ExtensionMethodes.

3
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/DataManager/ListStrategy/BaseListStrategy.cs

@ -96,8 +96,7 @@ namespace ICSharpCode.Reports.Core {
} }
CreateGroupedChildren(childList,element); CreateGroupedChildren(childList,element);
compVal = groupValue; compVal = groupValue;
} } ShowIndexList(IndexList);
// ShowIndexList(IndexList);
} }

6
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportContainer.cs

@ -3,6 +3,7 @@
using System; using System;
using System.Drawing; using System.Drawing;
using ICSharpCode.Reports.Core.BaseClasses;
using iTextSharp.text.pdf; using iTextSharp.text.pdf;
namespace ICSharpCode.Reports.Core.Exporter namespace ICSharpCode.Reports.Core.Exporter
@ -32,12 +33,7 @@ namespace ICSharpCode.Reports.Core.Exporter
} }
base.DrawItem(graphics); base.DrawItem(graphics);
base.Decorate(graphics); base.Decorate(graphics);
items.ForEach(item =>item.DrawItem(graphics)); items.ForEach(item =>item.DrawItem(graphics));
// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in items)
// {
// baseExportColumn.DrawItem(graphics);
// }
} }

8
src/AddIns/Misc/Reports/ICSharpCode.Reports.Core/Project/Exporter/ExportColumns/ExportGraphicContainer.cs

@ -8,9 +8,11 @@
*/ */
using System; using System;
using System.Drawing; using System.Drawing;
using System.Linq;
using ICSharpCode.Reports.Core.BaseClasses;
using ICSharpCode.Reports.Core.Globals; using ICSharpCode.Reports.Core.Globals;
using iTextSharp.text.pdf; using iTextSharp.text.pdf;
using System.Linq;
namespace ICSharpCode.Reports.Core.Exporter namespace ICSharpCode.Reports.Core.Exporter
{ {
@ -46,10 +48,6 @@ namespace ICSharpCode.Reports.Core.Exporter
style.DisplayRectangle); style.DisplayRectangle);
} }
Items.ForEach(item =>item.DrawItem(graphics)); Items.ForEach(item =>item.DrawItem(graphics));
// foreach (ICSharpCode.Reports.Core.Exporter.BaseExportColumn baseExportColumn in Items)
// {
// baseExportColumn.DrawItem(graphics);
// }
} }
} }

Loading…
Cancel
Save