Retrieve the row id of a row

476
2
04-22-2021 11:19 AM
MarvisKisakye1
Occasional Contributor

I have need for the row id value of a record as input to the esri_editing_tableGoTo command which utilises the row id value to go to the specified record. When there is no definition query on the table, I can retrieve the record's object id value (using row.GetObjectId()) which in this case, is the same as the rowid value. When there is a definition query on the table however, the rowid and object id values are no longer the same. So in that case I need to retrieve the row id instead of the objectid. So how do I retrieve the row id of a record? @CharlesMacleod @Wolf 

0 Kudos
2 Replies
CharlesMacleod
Esri Regular Contributor

We can expose a “go to record id” method on the ITablePane for navigation purposes for 2.9 so you do not have to execute the esri_editing_tableGoTo command. So hopefully that improves that workflow. However, we do not want to expose a "get row id for object id" because requesting a row id for a feature that hasnt been cached could trigger a full table scan which wld impact the table view performance (depending on the size of the dataset and whether it is feature service, enterprise, file, etc.)

Instead, we can expose a “get a record for object id” on the Table _control_ for 2.9. This will give u the designated row index for a feature object id. If the row index has not already been cached then the control will do a sequential scan through the dataset to retrieve/compute it. 

 

 

MarvisKisakye1
Occasional Contributor

@CharlesMacleod With the 2.9 update I no longer have to use the esri_editing_tableGoTo command because I can now use Itablepane.BringIntoView(rowIndex) which is great. I am, however, still unable to achieve what I need. Itablepane.BringIntoView takes a rowindex but because I have a tablepane, I have no way to retrieve a row index. Only an objectid is accessible. When there is no definition query everything works well to scroll to the desired objectid/row but when a definition query is defined, the table scrolls to the wrong row. I do understand the reasoning that you provided in your answer but I am left wondering if there's a way around this issue. The big picture is that I am writing code to center the attribute table on the row corresponding to the feature that's been selected in the map.

0 Kudos