ArcGIS should allow the ability to permanently reorder fields in a table

66031
209
04-20-2010 01:33 PM
Status: Under Consideration
Labels (1)
NewingtonConnecticut
Occasional Contributor

After creating a feature class, it would be convenient to go back after data input, and make changes to the field ordering (position).

209 Comments
MicahBabinski

Todd Henry​ and Jason Matney​, I was under the impression that ArcGIS Server/AGOL publishing would honor whatever settings were made in the published MXD, although I've never tried to publish with re-ordered fields so I don't have experience in that area. If it does not then that is indeed a good justification for the idea.

If ArcGIS Server/AGOL does not honor the field re-ordering set in the published MXD, than that should be fixed as well. Anyone know of an "idea" out there for that? I would happily upvote.

TimMinter

Follow-up note that if you're re-ordering the fields in order to present them in a logical order in an ArcGIS Server map service with feature access capability so you can let staff edit the data via a web app...  then the feature service piece of the map services does not respect your field order and you get to re-order them again in a popup to find out if that works.

Here's a geodatabase field re-ordering method I'm using:  How to change field order in geodatabase - one solution.  It costs a little money, but then so did typing these words.

ChaseCarter

Hi Shannon,

You're a DB guru, is it even possible to re-order fields at a DB level without dropping and re-creating a table? I think that is a limitation of SQL and most other RDBMS's?

Chase

ScottFierro2

No it's not a limitation in the DB. We actually do this on average once every other week at least due to front end application design changes/needs or a new field being added that users want showing up in a specific order somewhere along the architecture chain.

It's actually really straight forward in SSMS and is done by right-clicking on the table in the drop down that appears click on "Design" and then in the design view it's literally drag and drop to re-arrange fields where you want them. Click save, refresh your Arc products. Below is an example of the design screen and its the small boxes to the left of the field names that when selected an arrow appears inside the box and you can then drag and drop.

MeleKoneya

I had submitted the issue with Feature Service field order as a Bug if anyone wants to add their name to this to raiser the severity.

#BUG-000090535    [Enhancement] Feature Service Fields List Order is not maintained  on REST

As far as the Feature Class field order,  sometimes we may add a field that is related to other fields and it would be nice if it were in logical order in the GDB schema rather than having to move it around in the MXD.   For instance,  if we add a "Unit_Number" field it would be nice to put it after the other address fields in the database.

Mele

RichardFairhurst

It is much less intuitive than Desktop, so since Pro is constantly being touted as a ground up redesign with a focus on fixing Desktop's non-intuitive property access screens, this is one instance where Pro is creating a much less intuitive interface for the field rearrangement aspect at least.  In Desktop rearranging the fields in the table view is accessing the field arrangement properties of the field screen, which is the most intuitive in my view.  The disconnect is not intuitive, especially when it lets me rearrange fields in the table view but never pointed me to the Fields property screen to make the field arrangement permanent in the Project or warned me that my field reordering would disappear.  Now that I know, I regard that feature in the table view screen as nothing but a confusing waste of time and a great way to make sure users of Desktop won't understand how to transition to Pro.

I doubt I ever would have figured this out on my own without coming to the forum.  Here is a screen shot of what comes up in the help when I launched it from ArcGIS Pro and searched for "field order arcgis pro"  Nothing about any Fields property screen is mentioned in any of the topics returned within the first 3 screens of results.  I don't know if it is any of the screens, but I would have given up after the 4th screen when topics like "Web scene layer - ArcGIS Pro | ArcGIS for Desktop" came up as a leading topic.

.

ChaseCarter

Hi Scott,

I think when you do this is it drops and re-creates the table through SQL code.   I tried in SSMS and it warned me about dropping/re-creating.

mpboyle

Chase Carter​,

I'm by far a Sql expert, but you can disable the option in SSMS to prevent saving changes that require table re-creation, as highlighted in the screenshot below.  If this is disabled, you can re-arrange fields within a table without having to drop and re-create the table.  Esri would probably not support or condone such an action, but as the many previous posts have mentioned, it's a nice-ity to have the field arranged as desired when adding to ArcMap/ArcGIS Pro...and this is something I personally will do if I have added a field to a feature class/table that I'd like shown elsewhere in the table order.

ScottFierro2

Yeah SQL throws that out as a blanket statement but pretty sure it doesn't actually do a drop. Easy way to test would be create a feature class and apply some aliases and domains. Pretty certain if it does a drop the domains at least have to be re-applied but think aliases do as well. If it lets you re-arrange and there is no impact then I believe that answers it. (Can say from all of our work the only alias/domain work we've done post field re-ordering in SSMS is if it was a brand new field that hasn't had aliasing or domains applied yet).

ScottFierro2

Good catch Matt I forgot about making that change as well, I did it so long ago, but yes that's the config setup we use. I'd agree ESRI might not condone it but there are a lot of pretty useful and beneficial DB side tools that exist across multiple or singular DB platforms and ESRI doesn't condone/script for them either. Have gone so far as to reverse engineer some of the ESRI processes in order to modify them to be able to leverage a specific DB platforms native capabilities.