I've been beating my head against a wall for a full workday trying to figure this one out. What I want to accomplish is to turn a number of fields off in a feature layer. There is a method using the fieldInfo() method, but that only seems to work when creating a NEW feature layer. I want to apply the turned off fields to the EXISTING layer.Code example belowmxd = arcpy.mapping.MapDocument("CURRENT") df = arcpy.mapping.ListDataFrames(mxd, "*")[0] LayerNeedsFieldsTurnedOff = arcpy.mapping.ListLayers(mxd, "Layer Name", df)[0] desiredFields = ["LAST","FIRST","CITY","ZIP"] # This makes the field_info object that can then be applied to a layer field_info = arcpy.Describe(LayerNeedsFieldsTurnedOff).fieldInfo for index in xrange(0, field_info.count): if field_info.getfieldname(index) not in engineFields: field_info.setvisible(index,"HIDDEN")This is where I'm not sure what to do, all the examples show making an new layer like:arcpy.MakeFeatureLayer_management(LayerNeedsFieldsTurnedOff,"temp_layer","","",field_info)
This however set's me down a rabbit hole I really don't want to go down. (duplicate layers, symbology, labeling, etc...) Is there a way to apply the field visibilities back to the original layer and not a new one?Thanks in advance!