⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fieldsexplorer.cs

📁 SharpDevelop2.0.0 c#开发免费工具
💻 CS
📖 第 1 页 / 共 2 页
字号:
						                     cn.SortDirection,
						                     af.DataType);
					} else {
						sc = new SortColumn (cn.Text,
						                     cn.SortDirection,
						                     typeof(System.String));
					}
					this.reportModel.ReportSettings.SortColumnCollection.Add(sc);
				}
			}
		}
		
		
		private void UpdateGrouping () {
			this.reportModel.ReportSettings.GroupColumnsCollection.Clear();
			if (this.nodeGrouping.Nodes.Count > 0) {
				GroupColumn gc;
				for (int i = 0;i < this.nodeGrouping.Nodes.Count ;i++ ) {
					ColumnsTreeNode cn = (ColumnsTreeNode)this.nodeGrouping.Nodes[i];
					gc = new GroupColumn (cn.Text,i,cn.SortDirection);
					this.reportModel.ReportSettings.GroupColumnsCollection.Add(gc);
				}
			}
		}
		
		void SetAvailableFields () {
			try {
				this.nodeAvailableFields.Nodes.Clear();
				int avCount = this.reportModel.ReportSettings.AvailableFieldsCollection.Count;
				for (int i = 0;i < avCount ;i++ ) {
					AbstractColumn af = this.reportModel.ReportSettings.AvailableFieldsCollection[i];
					ColumnsTreeNode n = new ColumnsTreeNode(af.ColumnName);
					n.Tag = this.nodeAvailableFields;
					
					//we don't like ContextMenu here
					n.ContextmenuAddinTreePath = "";
					switch (this.reportModel.ReportSettings.CommandType) {
							case CommandType.Text:{
								n.ImageIndex = columnIcon;
								n.SelectedImageIndex = columnIcon;
								break;
							}
							case CommandType.StoredProcedure: {
								n.ImageIndex = storedprocIcon ;
								n.SelectedImageIndex = storedprocIcon ;
								break;
							}
							default:{
								n.ImageIndex = columnIcon;
								n.SelectedImageIndex = columnIcon;
								break;
							}
					}
					this.nodeAvailableFields.Nodes.Add(n);
				}
			} catch (Exception) {
				throw;
			}
		}
			
		
		
		void SetSortFields(){
			ColumnsTreeNode node;
			
			this.nodeSorting.Nodes.Clear();

			foreach (SortColumn sc in this.reportModel.ReportSettings.SortColumnCollection) {
				node = new ColumnsTreeNode(sc.ColumnName,sc.SortDirection);
				if (node.SortDirection == ListSortDirection.Ascending) {
					node.ImageIndex = 4;
					node.SelectedImageIndex = 4;
				} else {
					node.ImageIndex = descendingIcon;
					node.SelectedImageIndex = descendingIcon;
				}
				this.nodeSorting.Nodes.Add(node);
			}
		}
		private void SetGroupFields(){
			ColumnsTreeNode node;
			
			this.nodeGrouping.Nodes.Clear();
			foreach (GroupColumn gc in this.reportModel.ReportSettings.GroupColumnsCollection) {
				node = new ColumnsTreeNode(gc.ColumnName);
				if (node.SortDirection == ListSortDirection.Ascending) {
					node.ImageIndex = ascendingIcon;
					node.SelectedImageIndex = ascendingIcon;
				} else {
					node.ImageIndex = descendingIcon;
					node.SelectedImageIndex = descendingIcon;
				}
				this.nodeGrouping.Nodes.Add(node);
			}
		}
		
		void SetParamFields (){
			ColumnsTreeNode node;
			
			this.nodeParams.Nodes.Clear();
			foreach (SqlParameter par in this.reportModel.ReportSettings.SqlParametersCollection) {
				node = new ColumnsTreeNode(par.ParameterName);
					node.Tag = par;
					node.SelectedImageIndex = columnIcon;
					node.ImageIndex = columnIcon;
					this.nodeParams.Nodes.Add (node);
			}
		}
		
		void SetFunctions(){
			AbstractFieldsNode node;
			this.nodeFunction.Nodes.Clear();
			foreach (ReportSection section in this.reportModel.SectionCollection) {
				foreach (BaseReportObject item in section.Items) {
					BaseFunction func = item as BaseFunction;
					if (func != null) {
						node = new ColumnsTreeNode (ResourceService.GetString(func.LocalisedName));
						node.SelectedImageIndex = functionIcon;
						node.ImageIndex = functionIcon;
						this.nodeFunction.Nodes.Add(node);
					}				
				}
			}
		}
		
		private void FillTree () {
			this.BeginUpdate();
			SetAvailableFields();
			SetGroupFields();
			SetSortFields();
			SetParamFields ();
			SetFunctions();
			this.EndUpdate();
		}
		
		
		
		void BuildNodes() {

			BeginUpdate();
			this.Nodes.Clear();
			TreeNode root = new TreeNode(ResourceService.GetString("SharpReport.FieldsExplorer.Title"));		
			nodeAvailableFields = new SectionTreeNode(ResourceService.GetString("SharpReport.FieldsExplorer.AvailableFields"));
			nodeAvailableFields.ImageIndex = folderClosed;
			nodeAvailableFields.SelectedImageIndex = folderOpen;
			// we don't like a ContextMenu here
			nodeAvailableFields.ContextmenuAddinTreePath = "";
			root.Nodes.Add(this.nodeAvailableFields);
			
	
			nodeSorting = new SectionTreeNode (ResourceService.GetString("SharpReport.FieldsExplorer.Sorting"));
			nodeSorting.ImageIndex = folderClosed;
			nodeSorting.SelectedImageIndex = folderOpen;
			root.Nodes.Add(this.nodeSorting);
			
			nodeGrouping = new SectionTreeNode (ResourceService.GetString("SharpReport.FieldsExplorer.Grouping"));
			nodeGrouping.ImageIndex = folderClosed;
			nodeGrouping.SelectedImageIndex = folderOpen;
			root.Nodes.Add(this.nodeGrouping);
			
			nodeFunction = new TreeNode(ResourceService.GetString("SharpReport.FieldsExplorer.Functions"));
			nodeFunction.ImageIndex = folderClosed;
			nodeFunction.SelectedImageIndex = folderOpen;
			root.Nodes.Add(this.nodeFunction);
			
			nodeParams = new TreeNode(ResourceService.GetString("SharpReport.FieldsExplorer.Parameters"));
			nodeParams.ImageIndex = folderClosed;
			nodeParams.SelectedImageIndex = folderOpen;
			
			root.Nodes.Add(this.nodeParams);
			Nodes.Add(root);
			this.EndUpdate();
		}
	
		private const int folderClosed = 0;
		private const int folderOpen  = 1;
		private const int clearIcon = 2;
		
		private const int ascendingIcon = 4;
		private const int descendingIcon = 5;
		private const int storedprocIcon = 7;

		private const int columnIcon = 8;
		private const int functionIcon = 9;
		
		void InitImageList() {
			ImageList imageList = new ImageList();
			imageList.ColorDepth = ColorDepth.Depth32Bit;
			imageList.ImageSize = new System.Drawing.Size(16, 16);
			
			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.ClosedFolderBitmap"));
			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.OpenFolderBitmap"));
			imageList.Images.Add(new Bitmap(1, 1));

			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.SelectionArrow"));
			
			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.SharpReport.Ascending"));

			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.SharpReport.Descending"));
			//Table's or procedure
			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.SharpQuery.Table"));
			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.SharpQuery.Procedure"));
			
			//Parameters
			imageList.Images.Add(IconService.GetBitmap("Icons.16x16.SharpQuery.Column"));
			
			//Function
			imageList.Images.Add(ResourceService.GetIcon("Icons.16x16.SharpReport.Function"));
			ImageList = imageList;
		}
		#endregion
		
		#region ICSharpCode.SharpDevelop.Gui.IPadContent interface implementation
		public string Title {
			get {
				return ResourceService.GetString("SharpReport.FieldsExplorer.Title");
			}
		}
		
		public string Icon {
			get {
				return "FileIcons.XmlIcon";
			}
		}
		
		public string Category {
			get {
				return String.Empty;
			}
			set {
			}
		}
		
		public void RedrawContent() {
			
		}
		
		public string[] Shortcut {
			get {
				return null;
			}
			set {
			}
		}
		
		public System.Windows.Forms.Control Control {
			get {
				return this.contentPanel;
			}
		}
		
		
		// ********* Own events
		protected virtual void OnTitleChanged(EventArgs e)
		{
			if (TitleChanged != null) {
				TitleChanged(this, e);
			}
		}

		protected virtual void OnIconChanged(EventArgs e)
		{
			if (IconChanged != null) {
				IconChanged(this, e);
			}
		}

		public event EventHandler TitleChanged;
		public event EventHandler IconChanged;
		
		
		#endregion
		
		
		
		public FieldsExplorer() {
			WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += OnUpdateExplorerWindow;

			LabelEdit     = true;
			AllowDrop     = true;
			HideSelection = false;
			Dock          = DockStyle.Fill;
			Scrollable = true;
			LabelEdit = false;
			this.MouseDown += TreeMouseDown;
			this.ItemDrag += TreeViewItemDrag;
			this.DragDrop += TreeViewDragDrop;
			this.DragOver += TreeViewDragOver;
			contentPanel.Controls.Add(this);
			this.InitImageList();
			BuildNodes();
		}
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -