📄 sdeadmin.cs
字号:
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 + -