求C# ArcGIS Engine修改选中要素的属性,单要素都行

nimeila 2011-12-13 06:09:42
哪位好心人能否给小弟提供一个关于C#结合ArcGIS Engine开发的源码!主要实现的功能是修改选中要素的属性值,并保存,对单要素进行修改就可以了!
...全文
843 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
nimeila 2011-12-15
  • 打赏
  • 举报
回复
RLAlterFrm RLalter = new RLAlterFrm();
RLalter.ShowDialog();

string AlterID = RLalter.textBox1.Text;
string AlterRP = RLalter.textBox2.Text;
string AlterC = RLalter.textBox3.Text;

axMapControl1.ClearLayers();
axMapControl1.Refresh();

try
{
string strFileName = Application.StartupPath + @"\数据\Roadlamp.mxd";
//在数据视图中加载地图,供查询操作
if (axMapControl1.CheckMxFile(strFileName))
{
axMapControl1.LoadMxFile(strFileName);
}
else
{
MessageBox.Show("错误的数据路径:" + strFileName);
}
}
catch (Exception ex)
{
MessageBox.Show("Error01 in MainForm.cs" + ex.Message);
}
axMapControl1.Refresh();

string strQK = RLalter.getQueryKey();//获取查询值

//找到图层
IFeatureLayer pfeaturelayer = new FeatureLayer();
pfeaturelayer = axMapControl1.get_Layer(0) as IFeatureLayer;

//找到要素
IQueryFilter pQueryFilter = new QueryFilter();
pQueryFilter.WhereClause = "[RL_ID] = '" + strQK + "'";

IFeatureCursor pFeatureCur = pfeaturelayer.Search(pQueryFilter, false);

IFeature pFeature = null;

pFeature = pFeatureCur.NextFeature();

if (null == pFeature)
{
MessageBox.Show("对不起!该元素不存在");
}

else
{
IFields pFields = pFeature.Fields;
IFeatureClass pFeatureClass = pfeaturelayer.FeatureClass;

//修改属性值
int field1 = pFields.FindField("RL_ID");
int field2 = pFields.FindField("RL_RP");
int field3 = pFields.FindField("RL_C");
pFeature.set_Value(field1, AlterID);
pFeature.set_Value(field2, AlterRP);
pFeature.set_Value(field3, AlterC);
pFeature.Store();
MessageBox.Show("修改成功!","提示");
}
}

111,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧