private void method_0() { IFeatureClass featureClass = this.ifeatureLayer_0.FeatureClass; IRepresentationWorkspaceExtension repWSExtFromFClass = RepresentationAssist.GetRepWSExtFromFClass(featureClass); string str = this.ifeatureLayer_0.FeatureClass.AliasName + "_Rep"; string str2 = "RuleID"; string str3 = "Override"; if (repWSExtFromFClass.get_FeatureClassHasRepresentations(featureClass)) { IList <string> list = new List <string>(); IEnumDatasetName name = repWSExtFromFClass.get_FeatureClassRepresentationNames(featureClass); for (IDatasetName name2 = name.Next(); name2 != null; name2 = name.Next()) { list.Add(name2.Name); } int num = 1; string item = str; while (list.IndexOf(item) != -1) { item = str + num.ToString(); num++; } str = item; num = 1; item = str2; while (featureClass.FindField(item) != -1) { item = str2 + "_" + num.ToString(); num++; } str2 = item; num = 1; item = str3; while (featureClass.FindField(item) != -1) { item = str3 + "_" + num.ToString(); num++; } str3 = item; } this.txtruleIDFldName.Text = str2; this.txtoverrideFldName.Text = str3; this.txtRepresentationName.Text = str; this.lblFC.Text = this.ifeatureLayer_0.FeatureClass.AliasName; this.rdoSelectFeature.Enabled = (this.ifeatureLayer_0 as IFeatureSelection).SelectionSet.Count > 0; }
private void btnConvert_Click(object sender, EventArgs e) { if (this.txtRepresentationName.Text.Trim().Length == 0) { MessageBox.Show("名字不能为空!"); } else if (this.txtruleIDFldName.Text.Trim().Length == 0) { MessageBox.Show("RuleID字段不能为空!"); } else if (this.txtoverrideFldName.Text.Trim().Length == 0) { MessageBox.Show("Override字段不能为空!"); } else { try { IFeatureClass featureClass = this.ifeatureLayer_0.FeatureClass; IRepresentationWorkspaceExtension repWSExtFromFClass = RepresentationAssist.GetRepWSExtFromFClass(featureClass); if (repWSExtFromFClass != null) { IRepresentationRule repRule = RepresentationAssist.CreateRepresentationRule(featureClass); IRepresentationRules rules = new RepresentationRulesClass(); rules.Add(repRule); IRepresentationClass class3 = repWSExtFromFClass.CreateRepresentationClass(featureClass, this.txtRepresentationName.Text, this.txtruleIDFldName.Text, this.txtoverrideFldName.Text, this.rdoRequireShapeOverride.Checked, rules, null); if ((this.imap_0 != null) && this.chkAddLayer.Checked) { IFeatureLayer layer = new FeatureLayerClass { FeatureClass = featureClass }; IFeatureRenderer renderer = new RepresentationRendererClass(); (renderer as IRepresentationRenderer).RepresentationClass = class3; (layer as IGeoFeatureLayer).Renderer = renderer; this.imap_0.AddLayer(layer); (this.imap_0 as IActiveView).Refresh(); } base.DialogResult = DialogResult.OK; } else { base.DialogResult = DialogResult.OK; } } catch (COMException exception) { switch (exception.ErrorCode) { case -2147218682: MessageBox.Show(exception.Message); return; case -2147218675: MessageBox.Show("该要素类中已存在同名的制图表现"); break; case -2147218674: MessageBox.Show("该要素类中已存在同名RuleID字段或Override字段"); break; } } catch (Exception) { } } }
private void method_0() { this.dotDensityRendererCtrl_0.CurrentLayer = this.ilayer_0; this.simpleRenderControl_0.CurrentLayer = this.ilayer_0; this.uniqueValueRendererCtrl_0.CurrentLayer = this.ilayer_0; this.classBreaksRendererCtrl_0.CurrentLayer = this.ilayer_0; this.proportionalSymbolRendererCtrl_0.CurrentLayer = this.ilayer_0; this.chartRendererCtrl_0.CurrentLayer = this.ilayer_0; this.chartRendererCtrl_1.ChartRenderType = 1; this.chartRendererCtrl_1.CurrentLayer = this.ilayer_0; this.uniqueValueRendererMoreAttributeCtrl_0.CurrentLayer = this.ilayer_0; this.matchStyleGrallyCtrl_0.CurrentLayer = this.ilayer_0; if (this.ilayer_0 is IGeoFeatureLayer) { this.treeView1.Nodes.AddRange(new TreeNode[] { new TreeNode("要素", new TreeNode[] { new TreeNode("简单渲染") }), new TreeNode("类别", new TreeNode[] { new TreeNode("唯一值渲染"), new TreeNode("唯一值渲染,多字段"), new TreeNode("匹配符号库") }), new TreeNode("数量", new TreeNode[] { new TreeNode("渐变颜色渲染"), new TreeNode("比例符号") }), new TreeNode("图表", new TreeNode[] { new TreeNode("饼图"), new TreeNode("直方图") }) }); this.treeView1.Nodes[0].Tag = this.simpleRenderControl_0; this.treeView1.Nodes[0].Nodes[0].Tag = this.simpleRenderControl_0; this.treeView1.Nodes[1].Tag = this.uniqueValueRendererCtrl_0; this.treeView1.Nodes[1].Nodes[0].Tag = this.uniqueValueRendererCtrl_0; this.treeView1.Nodes[1].Nodes[1].Tag = this.uniqueValueRendererMoreAttributeCtrl_0; this.treeView1.Nodes[1].Nodes[2].Tag = this.matchStyleGrallyCtrl_0; this.treeView1.Nodes[2].Tag = this.classBreaksRendererCtrl_0; this.treeView1.Nodes[2].Nodes[0].Tag = this.classBreaksRendererCtrl_0; this.treeView1.Nodes[2].Nodes[1].Tag = this.proportionalSymbolRendererCtrl_0; this.treeView1.Nodes[3].Tag = this.chartRendererCtrl_0; this.treeView1.Nodes[3].Nodes[0].Tag = this.chartRendererCtrl_0; this.treeView1.Nodes[3].Nodes[1].Tag = this.chartRendererCtrl_1; this.simpleRenderControl_0.Visible = false; this.simpleRenderControl_0.Dock = DockStyle.Fill; this.panel.Controls.Add(this.simpleRenderControl_0); this.uniqueValueRendererCtrl_0.Visible = false; this.uniqueValueRendererCtrl_0.Dock = DockStyle.Fill; this.panel.Controls.Add(this.uniqueValueRendererCtrl_0); this.uniqueValueRendererMoreAttributeCtrl_0.Visible = false; this.uniqueValueRendererMoreAttributeCtrl_0.Dock = DockStyle.Fill; this.panel.Controls.Add(this.uniqueValueRendererMoreAttributeCtrl_0); this.matchStyleGrallyCtrl_0.Visible = false; this.matchStyleGrallyCtrl_0.Dock = DockStyle.Fill; this.panel.Controls.Add(this.matchStyleGrallyCtrl_0); this.classBreaksRendererCtrl_0.Dock = DockStyle.Fill; this.classBreaksRendererCtrl_0.Visible = false; this.panel.Controls.Add(this.classBreaksRendererCtrl_0); this.proportionalSymbolRendererCtrl_0.Dock = DockStyle.Fill; this.proportionalSymbolRendererCtrl_0.Visible = false; this.panel.Controls.Add(this.proportionalSymbolRendererCtrl_0); this.dotDensityRendererCtrl_0.Dock = DockStyle.Fill; this.dotDensityRendererCtrl_0.Visible = false; this.panel.Controls.Add(this.dotDensityRendererCtrl_0); this.chartRendererCtrl_0.Dock = DockStyle.Fill; this.chartRendererCtrl_0.Visible = false; this.chartRendererCtrl_0.ChartRenderType = 0; this.panel.Controls.Add(this.chartRendererCtrl_0); this.chartRendererCtrl_1.Dock = DockStyle.Fill; this.chartRendererCtrl_1.Visible = false; this.chartRendererCtrl_1.ChartRenderType = 1; this.panel.Controls.Add(this.chartRendererCtrl_1); if (RepresentationAssist.HasRepresentation((this.ilayer_0 as IFeatureLayer).FeatureClass)) { TreeNode node = new TreeNode("制图表现"); this.representationRendererPage_0.CurrentLayer = this.ilayer_0; this.representationRendererPage_0.Dock = DockStyle.Fill; this.representationRendererPage_0.Visible = false; this.panel.Controls.Add(this.representationRendererPage_0); IFeatureClass featureClass = (this.ilayer_0 as IFeatureLayer).FeatureClass; IRepresentationWorkspaceExtension repWSExtFromFClass = RepresentationAssist.GetRepWSExtFromFClass(featureClass); this.representationRendererPage_0.RepresentationWorkspaceExtension = repWSExtFromFClass; IEnumDatasetName name = repWSExtFromFClass.get_FeatureClassRepresentationNames(featureClass); for (IDatasetName name2 = name.Next(); name2 != null; name2 = name.Next()) { TreeNode node2 = new TreeNode(name2.Name) { Tag = this.representationRendererPage_0 }; node.Nodes.Add(node2); } this.treeView1.Nodes.Add(node); } } else if (this.ilayer_0 is IRasterLayer) { this.treeView1.Nodes.AddRange(new TreeNode[] { new TreeNode("唯一值"), new TreeNode("分类"), new TreeNode("拉伸") }); this.treeView1.Nodes[0].Tag = this.uniqueValueRendererCtrl_0; this.treeView1.Nodes[1].Tag = this.classBreaksRendererCtrl_0; this.uniqueValueRendererCtrl_0.Visible = false; this.uniqueValueRendererCtrl_0.Dock = DockStyle.Fill; this.panel.Controls.Add(this.uniqueValueRendererCtrl_0); this.classBreaksRendererCtrl_0.Visible = false; this.classBreaksRendererCtrl_0.Dock = DockStyle.Fill; this.panel.Controls.Add(this.classBreaksRendererCtrl_0); } }