属性编辑Word格式.docx
- 文档编号:6869929
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:12
- 大小:17.93KB
属性编辑Word格式.docx
《属性编辑Word格式.docx》由会员分享,可在线阅读,更多相关《属性编辑Word格式.docx(12页珍藏版)》请在冰点文库上搜索。
stringcellvalue=dataGridView1.CurrentCell.Value.ToString().Trim();
intObjectID;
ObjectID=Convert.ToInt32(dataGridView1.Rows[RowIndex].Cells[0].Value);
IFeatureLayerpFeatureLayer=pLayerasIFeatureLayer;
IFeatureClasspFeatureClass=pFeatureLayer.FeatureClass;
/*
*找到图层所对应要素类所在的工作空间,开始编辑
*/
IDatasetpDataSet=pFeatureClassasIDataset;
IWorkspacepWorkSpace=pDataSet.Workspace;
IWorkspaceEditpWSEdit=pWorkSpaceasIWorkspaceEdit;
pWSEdit.StartEditing(true);
try
pWSEdit.StartEditOperation();
pFeatureClass.GetFeature(ObjectID).set_Value(ColumeIndex,dataGridView1.CurrentCell.Value);
pFeatureClass.GetFeature(ObjectID).Store();
pWSEdit.StopEditOperation();
}
catch
{pWSEdit.UndoEditOperation();
return;
MessageBox.Show("
保存失败,该字段的类型为:
"
+pFeatureClass.GetFeature(ObjectID).get_Value(ColumeIndex).GetType().ToString().Trim()+"
。
请检查后输入"
"
失败"
MessageBoxButtons.OK,MessageBoxIcon.Error);
pWSEdit.StopEditing(true);
privatevoiddataGridView1_CellBeginEdit_1(objectsender,DataGridViewCellCancelEventArgse)
//MessageBox.Show("
dsadad"
);
IsEdit=true;
privatevoidfrmAttributeTable_FormClosing(objectsender,FormClosingEventArgse)
if(IsEdit==true)
dataGridView1.EndEdit();
#endregion
privatevoidbutton2_Click(objectsender,EventArgse)
this.Close();
http:
//bbs.esrichina-
for(intn=0;
n<
pFeatlyrFields.FieldCount;
n++)
{
//pTableCol=newDataColumn(pFeatlyrFields.Field(n).Name);
pFieldAlias=pFeatlyrFields.get_Field(n).AliasName;
switch(pFieldAlias)
case"
OBJECTID"
:
pTableCol=newDataColumn("
阀门序号"
pTable.Columns.Add(pTableCol);
//DataGridViewTextBoxColumntextboxColumn1=newDataGridViewTextBoxColumn();
//textboxColumn1.HeaderText="
;
//dataGridView1.Columns.Add(textboxColumn1);
break;
}
编号"
阀门编号"
//DataGridViewTextBoxColumntextboxColumn2=newDataGridViewTextBoxColumn();
//textboxColumn2.HeaderText="
//dataGridView1.Columns.Add(textboxColumn2);
安装日期"
阀门安装日期"
//DataGridViewTextBoxColumntextboxColumn3=newDataGridViewTextBoxColumn();
//textboxColumn3.HeaderText="
//dataGridView1.Columns.Add(textboxColumn3);
维修日期"
上次维修日期"
//DataGridViewTextBoxColumntextboxColumn4=newDataGridViewTextBoxColumn();
//textboxColumn4.HeaderText="
//dataGridView1.Columns.Add(textboxColumn4);
default:
pTableCol=null;
//dataGridView1.Columns.Add(pTable.Columns);
IFeatureCursorpFeatCursor;
pFeatCursor=pFeatCls.Search(null,false);
IFeaturepFeat;
pFeat=pFeatCursor.NextFeature();
intk=0;
do
DataRowpTableRow;
pTableRow=pTable.NewRow();
intj=0;
//Fori=0TopFeatlyrFields.FieldCount-1
for(inti=0;
i<
i++)
//MessageBox.Show(pFeatlyrFields.FieldCount.ToString());
pFieldAlias=pFeatlyrFields.get_Field(i).AliasName;
//MessageBox.Show(pFieldAlias);
switch(pFieldAlias)
pTableRow[j]=pFeat.get_Value(i);
//MessageBox.Show(pTableRow[j].ToString());
j=j+1;
break;
//MessageBox.Show("
ok"
//pTableRow[i]=pFeat.get_Value(i);
AE中要实现选中要素的闪烁,有2个关键点:
(1)确定选中的元素是哪一个;
(2)闪烁该元素。
实现第一点要用接口IQueryFilter接口,还需要IFeatureCursor接口作为配合;
第二点用MapControl控件的一个方法就可以实现,该方法为FlashShape()方法。
下面介绍一个例子。
这个例子将闪烁属性表中选中的要素。
代码如下:
//rIndex为选中要素在属性表中的行号
privatevoidqueryGeoObject(IFeatureLayercurFeatureLayer,intrIndex)
if(curMapControl==null||rIndex==-1||curFeatureLayer==null)
IQueryFilterpQueryFilter=newQueryFilterClass();
stringqueryString=dataGridView1.Columns[0].HeaderText+"
="
+dataGridView1.Rows[rIndex].Cells[0].Value.ToString();
pQueryFilter.WhereClause=queryString;
IFeatureCursorpFeatureCursor=curFeatureLayer.Search(pQueryFilter,false);
IFeaturepFindFeature=pFeatureCursor.NextFeature();
while(pFindFeature!
=null)
IEnvelopepEnvelop;
pEnvelop=pFindFeature.Shape.Envelope;
pEnvelop.Expand(3,3,true);
curMapControl.Extent=pEnvelop;
curMapControl.ActiveView.ScreenDisplay.UpdateWindow();
switch(pFindFeature.Shape.GeometryType)
caseesriGeometryType.esriGeometryPoint:
IMarkerSymbolpMarkerSymbol=newSimpleMarkerSymbolClass();
pEnvelop.Width=10;
pEnvelop.Height=10;
pEnvelop.CenterAt(pFindFeature.ShapeasIPoint);
curMapControl.FlashShape(pFindFeature.Shape,2,300,pMarkerSymbol);
caseesriGeometryType.esriGeometryPolyline:
ILineSymbolpLineSymbol=newSimpleLineSymbolClass();
curMapControl.FlashShape(pFindFeature.Shape,2,300,pLineSymbol);
caseesriGeometryType.esriGeometryPolygon:
IFillSymbolpFillSymbol=newSimpleFillSymbolClass();
curMapControl.FlashShape(pFindFeature.Shape,2,300,pFillSymbol);
pFindFeature=pFeatureCursor.NextFeature();
如果想在双击属性表中某一行时闪烁该元素,只需在DataGridiew的CellDoubleClick事件中这样写:
privatevoiddataGridView1_CellDoubleClick(objectsender,DataGridViewCellEventArgse)
rowIndex=e.RowIndex;
queryGeoObject(curFeatureLayer,rowIndex);
classCostMatrixAnalyst:
NetWorkAnalyst
publicCostMatrixAnalyst()
{
publicIDENetworkDatasetGetDENetworkDataset(INetworkDatasetpNetworkDatasetPara)
//QIfromtheNetworkDatasettotheDatasetComponent
IDatasetComponentdsComponent;
dsComponent=pNetworkDatasetParaasIDatasetComponent;
//GettheDataElement
returndsComponent.DataElementasIDENetworkDataset;
publicINAContextCreateCostMatrixNAContext(INetworkDatasetpNetworkDatasetPara)
IDENetworkDatasetdeNDS=GetDENetworkDataset(pNetworkDatasetPara);
INASolverpNaSolver;
pNaSolver=newNAODCostMatrixSolverClass();
INAContextEditcontextEdit=pNaSolver.CreateContext(deNDS,pNaSolver.Name)asINAContextEdit;
contextEdit.Bind(pNetworkDatasetPara,newGPMessagesClass());
returncontextEditasINAContext;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 属性 编辑
![提示](https://static.bingdoc.com/images/bang_tan.gif)