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

📄 zkshow.cs

📁 煤矿信息管理系统是基于SuperMap Object
💻 CS
📖 第 1 页 / 共 4 页
字号:
		/// 添加datagrid的列标题  
		/// </summary>
		/// <param name="myset">层信息的dataset</param>
		private void addstyle(DataSet Ceng_DataSet)
		{
			DataSet yanset = new DataSet();
			DataBase myDB = new DataBase();
			yanset = myDB.RunProcedure("get_yanxin","yan");
			CurrencyManager objcengCM;

			GridTableStyle = new DataGridTableStyle();
			GridTableStyle.MappingName = "cenginfo";

			objcengCM = (System.Windows.Forms.CurrencyManager)this.BindingContext[Ceng_DataSet.Tables[0]];

			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层名称"]));
			GridTableStyle.GridColumnStyles[0].MappingName = "煤层名称";
			GridTableStyle.GridColumnStyles[0].HeaderText = "煤层名称";
			GridTableStyle.GridColumnStyles[0].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[0].NullText = string.Empty;

			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["止煤深度"]));
			GridTableStyle.GridColumnStyles[1].MappingName = "止煤深度";
			GridTableStyle.GridColumnStyles[1].HeaderText = "止煤深度";
			GridTableStyle.GridColumnStyles[1].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[1].NullText = string.Empty;

			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标x"]));
			GridTableStyle.GridColumnStyles[2].MappingName = "底板坐标x";
			GridTableStyle.GridColumnStyles[2].HeaderText = "底板坐标x";
			GridTableStyle.GridColumnStyles[2].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[2].NullText = string.Empty;

			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标y"]));
			GridTableStyle.GridColumnStyles[3].MappingName = "底板坐标y";
			GridTableStyle.GridColumnStyles[3].HeaderText = "底板坐标y";
			GridTableStyle.GridColumnStyles[3].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[3].NullText = string.Empty;
              
			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["底板坐标z"]));
			GridTableStyle.GridColumnStyles[4].MappingName = "底板坐标z";
			GridTableStyle.GridColumnStyles[4].HeaderText = "底板坐标z";
			GridTableStyle.GridColumnStyles[4].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[4].NullText = string.Empty;

			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层伪厚"]));
			GridTableStyle.GridColumnStyles[5].MappingName = "煤层伪厚";
			GridTableStyle.GridColumnStyles[5].HeaderText = "煤层伪厚";
			GridTableStyle.GridColumnStyles[5].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[5].NullText = string.Empty;

			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["利用厚度"]));
			GridTableStyle.GridColumnStyles[6].MappingName = "利用厚度";
			GridTableStyle.GridColumnStyles[6].HeaderText = "利用厚度";
			GridTableStyle.GridColumnStyles[6].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[6].NullText = string.Empty;


			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["煤层倾角"]));
			GridTableStyle.GridColumnStyles[7].MappingName = "煤层倾角";
			GridTableStyle.GridColumnStyles[7].HeaderText = "煤层倾角";
			GridTableStyle.GridColumnStyles[7].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[7].NullText = string.Empty;


			GridTableStyle.GridColumnStyles.Add(new DataGridComboBoxColumn(yanset.Tables["yan"],0,0));
			GridTableStyle.GridColumnStyles[8].MappingName = "顶板岩性";
			GridTableStyle.GridColumnStyles[8].HeaderText = "顶板岩性";
			GridTableStyle.GridColumnStyles[8].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[8].NullText = string.Empty;

			GridTableStyle.GridColumnStyles.Add(new DataGridComboBoxColumn(yanset.Tables["yan"],0,0));
			GridTableStyle.GridColumnStyles[9].MappingName = "底板岩性";
			GridTableStyle.GridColumnStyles[9].HeaderText = "底板岩性";
			GridTableStyle.GridColumnStyles[9].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[9].NullText = string.Empty;

			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["等级"]));
			GridTableStyle.GridColumnStyles[10].MappingName = "等级";
			GridTableStyle.GridColumnStyles[10].HeaderText = "等级";
			GridTableStyle.GridColumnStyles[10].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[10].NullText = string.Empty;

			this.dataGrid_lay.TableStyles.Add(this.GridTableStyle);

			//这个可以不加的!!
			GridTableStyle.GridColumnStyles.Add(new DataGridTextBoxColumn(objcengCM .GetItemProperties()["钻孔序号"]));
			GridTableStyle.GridColumnStyles[11].MappingName = "钻孔序号";
			GridTableStyle.GridColumnStyles[11].HeaderText = "钻孔序号";
			GridTableStyle.GridColumnStyles[11].Alignment = HorizontalAlignment.Left;
			GridTableStyle.GridColumnStyles[11].Width =0; //隐藏起来不让用户输入
			GridTableStyle.GridColumnStyles[11].NullText = this.kong_id.ToString();
			GridTableStyle.GridColumnStyles[11].ReadOnly = true;
		}


		#endregion

		#region 根据钻孔的煤层信息画出简单的剖面示意图

		/// <summary>
		/// 打开空白的文件
		/// </summary>
		/// <returns>返回打开的纪录集,失败返回空</returns>
		private SuperMapLib.soRecordset get_Recordset()
		{
			SuperMapLib.soRecordset temp_Recordset;
			SuperMapLib.soDatasetVector myV;
			SuperMapLib.soStrings myString;
			SuperMapLib.soDataSource myDatasource;
			myString=new SuperMapLib.soStringsClass();
			
			this.axSuperMap1.Connect(this.axSuperWorkspace1.CtlHandle);
			myDatasource=this.axSuperWorkspace1.OpenDataSource(Application.StartupPath+"\\temp.sdb","temp",SuperMapLib.seEngineType.sceSDBPlus,false);
			if(myDatasource!=null)
			{
				SuperMapLib.soDatasets myDatasets= myDatasource.Datasets;
				for(int i=1;i<=myDatasets.Count;i++)
				{
					this.axSuperMap1.Layers.AddDataset(myDatasets[i],true);
				}
				myString.Add("*");
				myV = (SuperMapLib.soDatasetVector)myDatasource.Datasets["Region"];
				temp_Recordset = myV.Query("",true,myString,"");
				if(temp_Recordset.RecordCount>0)
				{
					temp_Recordset.DeleteAll();  //先清除所有的纪录
					temp_Recordset.Update();
				}
				return temp_Recordset;
			}
			else
			{
				return null;
			}
		}


		/// <summary>
		/// 得到钻孔边框的几何对象
		/// </summary>
		/// <param name="j_high">孔的高度</param>
		/// <param name="j_z">孔口Z坐标</param>
		/// <returns>SuperMapLib.soGeoRegion</returns>
		private SuperMapLib.soGeoRegion get_kong_Region(double j_high,double j_z)
		{
			SuperMapLib.soGeoRegion myRegion;
			SuperMapLib.soPoints myPoints;
			myPoints = new SuperMapLib.soPointsClass();
			myRegion = new SuperMapLib.soGeoRegionClass();

			//1.1 生成井边框多边形。
			myPoints.Add2(10,j_z+10);
			myPoints.Add2(20,j_z);
			myPoints.Add2(20,j_z-j_high);
			myPoints.Add2(0,j_z-j_high);
			myPoints.Add2(0,j_z);
			myPoints.Add2(10,j_z+10);
			myRegion.AddPart(myPoints);
			return myRegion;
		}


		/// <summary>
		/// 得到煤层的几何对象
		/// </summary>
		/// <param name="ceng_h">煤层的厚度</param>
		/// <param name="ceng_z">煤层的Z坐标</param>
		/// <returns>几何对象   SuperMapLib.soGeoRegion</returns>
		private  SuperMapLib.soGeoRegion get_ceng_Region(double ceng_h,double ceng_z)
		{
			SuperMapLib.soGeoRegion ceng_Region = new SuperMapLib.soGeoRegionClass();
			SuperMapLib.soPoints myPoints = new SuperMapLib.soPointsClass();
			myPoints.Add2(0,ceng_z);
			myPoints.Add2(20,ceng_z);
			myPoints.Add2(20,ceng_z-ceng_h);
			myPoints.Add2(0,ceng_z-ceng_h);
			myPoints.Add2(0,ceng_z);
			ceng_Region.AddPart(myPoints);
			return ceng_Region;

		}


		/// <summary>
		/// 返回煤层的顶板和底板填充信息的结构体。
		/// </summary>
		/// <param name="up_t">顶板岩性</param>
		/// <param name="down_t">底板岩性</param>
		/// <param name="up_h">上高</param>
		/// <param name="down_h">下高</param>
		/// <param name="ceng">层标示 1.只有一层  2.多层的最上部分  3.多层的最下部分  4.其他的</param>
		/// <param name="j_h">井的高度</param>
		/// <param name="j_z">井的Z坐标</param>
		/// <param name="ceng_h">煤层的厚度</param>
		/// <param name="ceng_z">煤层的Z坐标</param>
		/// <returns></returns>
		private lay_Region get_ceng_fill(int up_t,int down_t,double up_h,double down_h,int ceng,double j_z,double j_h,double ceng_z,double ceng_h)
		{
			lay_Region mylay_fill = new lay_Region(up_t,down_t);
			switch(ceng)
			{
				case 1: //只有一层
				{
					//先画上部
					if(up_h>=8)
					{ //画出折线
						mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
						//draw_pline(ceng_z,0);
					}
					else
					{ //直接画成矩形
						mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h,0));
						//draw_line(ceng_z,up_h);
					}
					//再画下部分
					if(down_h>=8)
					{ //画出折线
						mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
					}
					else
					{ //直接画成矩形
						mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h,ceng_h));
					}
				}
					break;
				case 2: //多层的最上层
				{
					//画上部
					if(up_h>=8)
					{ //画出折线
						mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
					}
					else
					{ //直接画成矩形

						mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h,0));
					}

					//再画下部
					if(down_h>=14)
					{ //画出折线
						mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
					}
					else
					{ //分成平均的两半
						mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h/2,ceng_h));
					}
				}
					break;
				case 3:  //多层的最下层
				{
					//先画上部
					if(up_h>=14)
					{ //画出折线
						mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
					}
					else
					{ //分成平均的两半
						mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h/2,0));
					}

					// 再画下部分
					if(down_h>=8)
					{ //画出折线
						mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
					}
					else
					{ //直接画成矩形
						mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h,ceng_h));
					}
				}
					break;
				
				case 4: //多层的中间层
				{
					if(up_h>=14)
					{ //画出折线
						mylay_fill.lay_up_Region.AddPart(draw_pline(ceng_z,0));
					}
					else
					{ //分成平均的两半
						mylay_fill.lay_up_Region.AddPart(draw_line(ceng_z,up_h/2,0));
					}
					
					if(down_h>=14)
					{ //画出折线
						mylay_fill.lay_down_Region.AddPart(draw_pline(ceng_z,ceng_h));
					}
					else
					{ //分成平均的两半
						mylay_fill.lay_down_Region.AddPart(draw_line(ceng_z,-down_h/2,ceng_h));
					}
				}
					break;
			}
			return mylay_fill;
		}


		/// <summary>
		/// 处理直接画成矩形的情况    /如果是底板把lin_h取反
		/// </summary>
		/// <param name="ceng_z">起点坐标</param>
		/// <param name="lin_h">高度 如果是底板把lin_h取反</param> 
		/// <param name="ceng_h">该层煤的厚度。 在顶板时取0</param>
		/// <returns></returns>
		private SuperMapLib.soPoints draw_line(double ceng_z,double lin_h,double ceng_h)
		{
			SuperMapLib.soPoints myPoints= new SuperMapLib.soPointsClass();
			myPoints.Add2(0,ceng_z-ceng_h);
			myPoints.Add2(0,ceng_z+lin_h-ceng_h);
			myPoints.Add2(20,ceng_z+lin_h-ceng_h);
			myPoints.Add2(20,ceng_z-ceng_h);
			myPoints.Add2(0,ceng_z-ceng_h);
			return myPoints;
		}


		/// <summary>
		/// 处理画成折线的情况  如果为上部 lin_h取 0 
		/// </summary>
		/// <param name="ceng_z">起点坐标</param>
		/// <param name="lin_h">煤层的厚度    顶板时为0 </param> 
		/// <returns></returns>
		private SuperMapLib.soPoints draw_pline(double ceng_z,double lin_h)
		{
			SuperMapLib.soPoints myPoints= new SuperMapLib.soPointsClass();
			if(lin_h != 0)
			{
				myPoints.Add2(0,ceng_z-lin_h);

⌨️ 快捷键说明

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