myresultgrid.cs

来自「用C#开发的录井油气识别专家系统」· CS 代码 · 共 222 行

CS
222
字号
using System.Windows.Forms;
using System;
using System.Data;
using System.Diagnostics;
using OWNERDATASET;
using expert;
using System.Xml;
using System.IO;



namespace OWNERGRID
{
			
	public class myResultGridCtrl : myGridCtrl
	{
		private int idReaonmenu;
		public myResultGridCtrl()
		{
			
			idReaonmenu=ContextMenu.MenuItems.Add(new MenuItem("推理",new System.EventHandler(Reason_Click)));
			ContextMenu.Popup += new System.EventHandler(this.Menu_Popup);
			
	
			
		}

		public override  void Open(string filename) 
		{
			
			ResultSet=new myResultDataSet();
			ResultSet.Init(filename);
			
				
		}
		protected  override void Save_Click(Object sender, System.EventArgs e) 
		{
			#region 获取用户指定的文件名
			SaveFileDialog saveFileDialog1 = new SaveFileDialog();
			saveFileDialog1.Title="报告文件保存为";
			saveFileDialog1.FileName="sample.xml";
		

			//saveFileDialog1.InitialDirectory = "c:\\" ;
			saveFileDialog1.Filter = "xml文件(*.xml)|*.xml|All files (*.*)|*.*" ;
			saveFileDialog1.FilterIndex = 1 ;
			saveFileDialog1.RestoreDirectory = true ;

			if(saveFileDialog1.ShowDialog() != DialogResult.OK)
				return;
			#endregion
			
			

			
							
			
			
			XmlTextWriter sw = new XmlTextWriter(new StreamWriter(saveFileDialog1.FileName));
			#region   Create a procesing instruction.
			
			string PItext;
			PItext= "type='text/xsl' href='" +FormMain.aFormMain.GetReportXsl(ResultSet.DataSetName)+"'";
			sw.WriteProcessingInstruction("xml-stylesheet", PItext);;
			
			#endregion

			

			ResultSet.WriteXml(sw,XmlWriteMode.IgnoreSchema/* .WriteSchema*/);   // defaults to XmlWriteMode.IgnoreSchema
			//sw.WriteEndElement();
			sw.Close();   

			FormMain.OpenXmlReport(saveFileDialog1.FileName);
			

		}
		public bool AddTable(DataTable table)
		{
			
			if(ResultSet==null)
			{
				
				ResultSet=new myResultDataSet();
			}

			if(ResultSet.Tables[table.TableName]!=null)
			{
				MessageBox.Show("上次的推理结果将丢失!");
				ResultSet.Tables.Remove(table.TableName);
			}
						
			ResultSet.Tables.Add(table);
			return true;
		}

		public myResultDataSet ResultSet
		{
			get
			{
				DataViewManager dvm=DataSource as DataViewManager;
				if(dvm==null)
					return null;
				
				return dvm.DataSet as myResultDataSet;
			}
			set
			{
				DataSource=value.DefaultViewManager;
			}
			
		}

		public DataTable StatisResultTable
		{
			get
			{
				if(ResultSet==null)
					return null;
				return ResultSet.StatisResultTable;
			}
			set
			{
				
				if(ResultSet==null)
					ResultSet=new myResultDataSet();

				ResultSet.StatisResultTable=value;
	
				
			}
		}

		public DataTable FuzzyResultTable
		{
			get
			{
				if(ResultSet==null)
					return null;
				return ResultSet.FuzzyResultTable;
			}
			set
			{
				
				if(ResultSet==null)
					ResultSet=new myResultDataSet();

				ResultSet.FuzzyResultTable=value;
	
				
			}
		}
		public DataTable TemplateResultTable
		{
			get
			{
				if(ResultSet==null)
					return null;
				return ResultSet.TemplateResultTable;
			}
			set
			{
				
				if(ResultSet==null)
					ResultSet=new myResultDataSet();

				ResultSet.TemplateResultTable=value;
	
				
			}
		}

		public DataViewSetting ResultView
		{
			get
			{
				DataViewManager dvm=DataSource as DataViewManager;
				return dvm.DataViewSettings[StatisResultTable.TableName];
			}
			
		}

		private void Reason_Click(Object sender, System.EventArgs e) 
		{

			FormMain mf;
			Control ct=this;
			while(ct.GetType()!=typeof(FormMain) && ct!=null)
				ct=ct.Parent;

			if(ct==null)
				return;

			mf=ct as FormMain;
			mf.StatisReason();
					
			
		}

		private void Menu_Popup(object sender, System.EventArgs e)
		{

			//ContextMenu.MenuItems[idReaonmenu].
			
		}


		protected  override void Setting_Click(Object sender, System.EventArgs e) 
		{
			base.Setting_Click(sender,e);

			
		}

		



		

	}////end class myResultGridCtrl
}

⌨️ 快捷键说明

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