The order in which fields are displayed in the New, Edit, and Display forms for a list item is determined by the FieldLinks order of its content type.
The SPFieldLinkCollection has a handy Reorder method that we can use to set the order of the fields, using their internal names.
The script below does this through PowerShell:
$web = Get-SPWeb https://bubagum.sharepoint.com $ct = $web.ContentTypes["Content Type Name"] $ct.FieldLinks.Reorder(@("Title", "InternalName1", "InternalName2")) $ct.Update($true)
Note: also need to make sure List Advanced Settings has Allow management of content types set to Yes.