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

📄 fieldsexplorer.cs

📁 c#源代码
💻 CS
📖 第 1 页 / 共 2 页
字号:
					                     cn.SortDirection,
					                     typeof(System.String));
				}

				reportManager.SortColumnCollection.Add(sc);
			}
		}
		private void UpdateGrouping (SharpReportManager reportManager) {
			reportManager.GroupColumnCollection.Clear();
			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);
				reportManager.GroupColumnCollection.Add(gc);
			}
		}
		
		
		
		void SetAvailableFields(SharpReportManager reportManager){
			try {
				int avCount = reportManager.AvailableFieldsCollection.Count;
				
				for (int i = 0;i < avCount ;i++ ) {
					AvailableField af = (AvailableField)reportManager.AvailableFieldsCollection[i];
					ColumnsTreeNode n = new ColumnsTreeNode(af.ColumnName);
					
					n.Tag = this.nodeAvailableFields;
					
					//we don't like ContextMenu here
					n.ContextmenuAddinTreePath = "";
					switch (reportManager.BaseDesignControl.ReportModel.ReportSettings.CommandType) {
							case CommandType.Text:{
								n.ImageIndex = 6;
								n.SelectedImageIndex = 6;
								break;
							}
							case CommandType.StoredProcedure: {
								n.ImageIndex = 7;
								n.SelectedImageIndex = 7;
								break;
							}
							default:{
								n.ImageIndex = 6;
								n.SelectedImageIndex = 6;
								break;
							}
					}
					this.nodeAvailableFields.Nodes.Add(n);
				}
			} catch (Exception) {
			}
		}
		
		void SetSortFields(SharpReportManager reportManager){
			try {
				ColumnsTreeNode node;
				int scCount = reportManager.SortColumnCollection.Count;
				for (int i = 0;i < scCount ;i++ ) {
					SortColumn sc = (SortColumn)reportManager.SortColumnCollection[i];
					node = new ColumnsTreeNode(sc.ColumnName,sc.SortDirection);
					if (node.SortDirection == ListSortDirection.Ascending) {
						node.ImageIndex = 4;
						node.SelectedImageIndex = 4;
					} else {
						node.ImageIndex = 5;
						node.SelectedImageIndex = 5;
					}
					this.nodeSorting.Nodes.Add(node);
				}
			} catch (Exception) {
				
			}
		}
		void SetGroupFields(SharpReportManager reportManager){
			try {
				ColumnsTreeNode node;
				int gcCount = reportManager.GroupColumnCollection.Count;
				for (int i = 0;i < gcCount ;i++ ) {
					GroupColumn gc = (GroupColumn)reportManager.GroupColumnCollection[i];
					node = new ColumnsTreeNode(gc.ColumnName);
					this.nodeGrouping.Nodes.Add(node);
				}
			} catch (Exception) {
				
			}
		}
		
		void SetParamFields (SharpReportManager reportManager){
			try {
				ColumnsTreeNode node;
				int parCount = reportManager.SqlParametersCollection.Count;
				for (int i = 0;i < parCount ;i++ ) {
					SqlParameter par = (SqlParameter)reportManager.SqlParametersCollection[i];
					node = new ColumnsTreeNode(par.ParameterName);
					node.Tag = par;
					node.SelectedImageIndex = 9;
					node.ImageIndex = 9;
					this.nodeParams.Nodes.Add (node);
				}
			} catch (Exception) {
				
			}
		}
		void SetFunctions(){
			try {
				
			} catch (Exception) {
				
			}
		}
		
		private void FillTree() {
			try {
				SharpReportView view = (SharpReportView)WorkbenchSingleton.Workbench.ActiveWorkbenchWindow.ViewContent;
				if (view != null) {
					SharpReportManager manager = view.ReportManager;
					if (manager != null) {
						
						BeginUpdate();
						SetAvailableFields(manager);
						SetGroupFields(manager);
						SetSortFields(manager);
						SetParamFields (manager);
						SetFunctions();
						EndUpdate();
					} else {
						throw new NullReferenceException("FieldsExplorer:FillTree : No ReportManager");
					}
					
				} else {
					throw new NullReferenceException ("FieldsExplorer:FillTree : No view available");
				}
			} catch (Exception e) {
				throw e;
			}
		}
		void BuildNodes() {

			BeginUpdate();
			TreeNode root = new TreeNode(resourceService.GetString("SharpReport.FieldsExplorer.Title"));
			
			nodeAvailableFields = new SectionTreeNode(resourceService.GetString("SharpReport.FieldsExplorer.AvailableFields"));
			nodeAvailableFields.ImageIndex = 0;
			nodeAvailableFields.SelectedImageIndex = 1;
			// we don't like a ContextMenu here
			nodeAvailableFields.ContextmenuAddinTreePath = "";
			root.Nodes.Add(this.nodeAvailableFields);
			
			
			nodeSorting = new SectionTreeNode (resourceService.GetString("SharpReport.FieldsExplorer.Sorting"));
			nodeSorting.ImageIndex = 0;
			nodeSorting.SelectedImageIndex = 1;
			root.Nodes.Add(this.nodeSorting);
			
			nodeGrouping = new SectionTreeNode (resourceService.GetString("SharpReport.FieldsExplorer.Grouping"));
			nodeGrouping.ImageIndex = 0;
			nodeGrouping.SelectedImageIndex = 1;
			root.Nodes.Add(this.nodeGrouping);
			
			nodeFunction = new TreeNode(resourceService.GetString("SharpReport.FieldsExplorer.Functions"));
			nodeFunction.ImageIndex = 0;
			nodeFunction.SelectedImageIndex = 1;
			root.Nodes.Add(this.nodeFunction);
			
			nodeParams = new TreeNode(resourceService.GetString("SharpReport.FieldsExplorer.Parameters"));
			nodeParams.ImageIndex = 0;
			nodeParams.SelectedImageIndex = 1;
			
			root.Nodes.Add(this.nodeParams);
			Nodes.Add(root);
			this.EndUpdate();
		}
		
		void InitImageList() {
			IconService iconService = (IconService)ServiceManager.Services.GetService(typeof(IconService));
			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"));
			
			ResourceManager rm = new ResourceManager ("BitmapResources",
			                                          System.Reflection.Assembly.GetExecutingAssembly()); 

			imageList.Images.Add ((Bitmap)rm.GetObject("Icons.SharpReport.16x16.Ascending"));
			imageList.Images.Add ((Bitmap)rm.GetObject("Icons.SharpReport.16x16.Descending"));
			//Table's or procedure
			imageList.Images.Add(iconService.GetBitmap("Icons.16x16.SharpQuery.Table"));
			imageList.Images.Add(iconService.GetBitmap("Icons.16x16.SharpQuery.Procedure"));
			imageList.Images.Add(iconService.GetBitmap("Icons.16x16.SharpQuery.View"));
			//Parameters
			imageList.Images.Add(iconService.GetBitmap("Icons.16x16.SharpQuery.Column"));
			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 string[] Shortcut {
			get {
				return null;
			}
			set {
			}
		}
		
		public System.Windows.Forms.Control Control {
			get {
				return this.contentPanel;
			}
		}
		
		public void BringPadToFront() {
			if (!WorkbenchSingleton.Workbench.WorkbenchLayout.IsVisible(this)) {
				WorkbenchSingleton.Workbench.WorkbenchLayout.ShowPad(this);
			}
			WorkbenchSingleton.Workbench.WorkbenchLayout.ActivatePad(this);
		}
		
		public void RedrawContent() {
			this.Nodes.Clear();
			InitImageList();
			BuildNodes();
		}
		// ********* 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() {
			resourceService = (ResourceService)ServiceManager.Services.GetService(typeof(IResourceService));
			WorkbenchSingleton.Workbench.ActiveWorkbenchWindowChanged += new EventHandler(OnWindowChange);
			firstTime = true;
			
			
			LabelEdit     = true;
			AllowDrop     = true;
			HideSelection = false;
			Dock          = DockStyle.Fill;
			Scrollable = true;
			LabelEdit = false;
			
			MouseDown += new System.Windows.Forms.MouseEventHandler(this.TreeMouseDown);
			this.ItemDrag += new ItemDragEventHandler (TreeViewItemDrag);
			this.DragDrop += new DragEventHandler (TreeViewDragDrop);
			this.DragOver += new DragEventHandler (TreeViewDragOver);
			contentPanel.Controls.Add(this);
		}
	}
}

⌨️ 快捷键说明

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