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

📄 sdeadmin.cs

📁 ArcSDE的要素集的添加
💻 CS
📖 第 1 页 / 共 2 页
字号:
			this.button8.TabIndex = 4;
			this.button8.Text = "关闭";
			this.button8.Click += new System.EventHandler(this.button8_Click);
			// 
			// SdeAdmin
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.ClientSize = new System.Drawing.Size(474, 367);
			this.Controls.Add(this.button8);
			this.Controls.Add(this.button7);
			this.Controls.Add(this.button6);
			this.Controls.Add(this.groupBox1);
			this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
			this.MaximizeBox = false;
			this.Name = "SdeAdmin";
			this.Text = "Sde数据管理";
			this.Load += new System.EventHandler(this.SdeAdmin_Load);
			this.groupBox1.ResumeLayout(false);
			this.groupBox2.ResumeLayout(false);
			this.ResumeLayout(false);

		}
		#endregion

		private void button8_Click(object sender, System.EventArgs e)
		{
			this.Close();
		}

		private void SdeAdmin_Load(object sender, System.EventArgs e)
		{
			if(layer!=null)
			{
				IFeatureLayer pFeatureLayer = (IFeatureLayer)layer;
				IDataset pDataset = (IDataset)pFeatureLayer;
				if(pDataset.Category.ToLower().IndexOf("sde")>-1)
				{
					//
					this.ws = pDataset.Workspace;
					pVersionWorkspace = (IVersionedWorkspace)ws;
					this.treeView1.Nodes.Clear();
					LoadVersion(pVersionWorkspace.DefaultVersion.VersionInfo,null);

				}
			}
		}

		private void LoadVersion(IVersionInfo pVersionInfo,TreeNode node)
		{
			TreeNode node_new;
			if(node == null)
			{
				node_new = this.treeView1.Nodes.Add(pVersionInfo.VersionName);
			}
			else
			{
				node_new = node.Nodes.Add(pVersionInfo.VersionName);
			}
			IEnumVersionInfo pEnumVersionInfo = pVersionInfo.Children;
			IVersionInfo v2 = pEnumVersionInfo.Next();
			while(v2!=null)
			{
				LoadVersion(v2,node_new);
				v2 = pEnumVersionInfo.Next();
			}
		}

		private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
		{
			try
			{
				TreeNode node = treeView1.GetNodeAt(e.X,e.Y);
				if(node!=null)
				{
					pVersion = pVersionWorkspace.FindVersion(node.Text);
					this.textBox1.Text = pVersion.VersionName;
					this.richTextBox1.Text = pVersion.Description;
					switch(pVersion.Access)
					{
						case esriVersionAccess.esriVersionAccessPrivate:
							this.radioButton1.Checked = true;
							break;
						case esriVersionAccess.esriVersionAccessProtected:
							this.radioButton2.Checked = true;
							break;
						case esriVersionAccess.esriVersionAccessPublic:
							this.radioButton3.Checked = true;
							break;
					}
					this.label3.Text = "创建:" + pVersion.VersionInfo.Created.ToString();
					this.label4.Text = "修改:" + pVersion.VersionInfo.Modified.ToString();
					bool enable = pVersion.VersionInfo.IsOwner();
					//设置控件状态
					this.groupBox2.Enabled = enable;
					this.textBox1.Enabled = enable;
					this.richTextBox1.Enabled = enable;
					this.button1.Enabled = true;
					this.button2.Enabled = enable;
					this.button3.Enabled = enable;

				}
			}
			catch(Exception myerr)
			{
				MessageBox.Show(myerr.Message);
			}
		}

		private void button2_Click(object sender, System.EventArgs e)
		{
			try
			{
				pVersion.VersionName = this.textBox1.Text;
				pVersion.Description = this.richTextBox1.Text;
				if(this.radioButton1.Checked)
					pVersion.Access = esriVersionAccess.esriVersionAccessPrivate;
				else if(this.radioButton2.Checked)
					pVersion.Access = esriVersionAccess.esriVersionAccessProtected;
				else
					pVersion.Access = esriVersionAccess.esriVersionAccessPublic;
			}
			catch(Exception myerr)
			{
				MessageBox.Show(myerr.Message);
			}
		}

		private void button1_Click(object sender, System.EventArgs e)
		{
			if(this.pVersion!=null)
			{
				if(this.button1.Text=="创建")
				{
					this.textBox1.Text = "";
					this.richTextBox1.Text = "";
					this.textBox1.Enabled = true;
					this.richTextBox1.Enabled = true;
					this.button2.Visible = false;
					this.button3.Text = "取消";
					this.button3.Enabled = true;
					this.button1.Text = "保存";
					this.treeView1.Enabled = false;
				}
				else
				{
					if(this.textBox1.Text!="")
					{
						try
						{
							IVersion newVersion = this.pVersion.CreateVersion(this.textBox1.Text);
							newVersion.Description = this.richTextBox1.Text;
							if(this.radioButton1.Checked)
								newVersion.Access = esriVersionAccess.esriVersionAccessPrivate;
							else if(this.radioButton2.Checked)
								newVersion.Access = esriVersionAccess.esriVersionAccessProtected;
							else
								newVersion.Access = esriVersionAccess.esriVersionAccessPublic;
							this.pVersion = newVersion;
							this.button2.Visible = true;
							this.button1.Text = "创建";
							this.button3.Text = "删除";
							this.treeView1.Enabled = true;
						
							//增加treeview分支
							TreeNode node = this.treeView1.SelectedNode;
							this.treeView1.SelectedNode = node.Nodes.Add(this.pVersion.VersionName);
							node.Expand();
						}
						catch(Exception myerr)
						{
							MessageBox.Show(myerr.Message);
						}
						
					}
					else
					{
						MessageBox.Show("版本名称不能为空!");
					}

					//创建新版本
				}
			}
			else
			{
				MessageBox.Show("请选中父版本!");
			}
		}

		private void button3_Click(object sender, System.EventArgs e)
		{
			if(button3.Text == "删除")
			{
				if(this.pVersion!=null && pVersion.VersionInfo.Parent !=null)
				{
					try
					{
						this.pVersion.Delete();
						this.pVersion = null;
						this.textBox1.Text = "";
						this.richTextBox1.Text = "";
						//从treeview中删除节点
						TreeNode node = this.treeView1.SelectedNode;
						node.Remove();
					}
					catch(Exception myerr)
					{
						MessageBox.Show(myerr.Message);
					}
				}
				else
				{
					MessageBox.Show("请先选择版本!");
				}
			}
			else
			{
				this.button3.Text = "删除";
				this.button1.Text = "创建";
				this.button2.Visible = true;
				this.treeView1.Enabled = true;
				this.textBox1.Text = "";
				this.richTextBox1.Text = "";
			}
		}

		private void button4_Click(object sender, System.EventArgs e)
		{
			try
			{
				OpenFileDialog opensde = new OpenFileDialog();
				opensde.DefaultExt = ".sde";
				opensde.Filter = "sde文件(*.sde)|*.sde";
				opensde.ShowDialog();
				if(opensde.FileName!="")
				{
					//打开sde文件
					SdeConn aaa = new SdeConn();
					if(aaa.ReadFromSDE(opensde.FileName))
					{
						ws = aaa.GetCorkSpace();
						pVersionWorkspace = (IVersionedWorkspace)ws;
						this.treeView1.Nodes.Clear();
						LoadVersion(pVersionWorkspace.DefaultVersion.VersionInfo,null);
					}
					this.sdeconn = aaa ;
				}
			}
			catch(Exception myerr)
			{
				MessageBox.Show(myerr.Message);
			}
		}

		private void button5_Click(object sender, System.EventArgs e)
		{
			try
			{
				SdeConn_New aaa = new SdeConn_New();
				aaa.Show();
				aaa.button4.Click += new EventHandler(aaa_button5_click);

			}
			catch(Exception myerr)
			{
				MessageBox.Show(myerr.Message);
			}
		}

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

			Button button = (Button)sender;
			SdeConn_New aaa = (SdeConn_New)button.Parent;
			pVersionWorkspace = aaa.ws;
			this.treeView1.Nodes.Clear();
			this.ws = aaa.pws;
			LoadVersion(pVersionWorkspace.DefaultVersion.VersionInfo,null);
			aaa.Close();
		}

		private void button6_Click(object sender, System.EventArgs e)
		{
			if(this.sdeconn!=null)
			{
				this.sdeconn.SetConn(sdeconn.ConnProp.Server,sdeconn.ConnProp.Instance,sdeconn.ConnProp.DataBase,sdeconn.ConnProp.user,sdeconn.ConnProp.password,this.treeView1.SelectedNode.Text);
				DataList aaa = new DataList(this.mapControl,sdeconn.GetCorkSpace());
				aaa.filename = "";
				aaa.url = "";
				aaa.Show();
			}
		}
	}
}

⌨️ 快捷键说明

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