Guys, I am experiencing this issue now. Here is my scenario: Launch UI -Load Default Fields -Allow user to customize visibility and position of the field via a field selector control -Call SaveCustomizations and persist this info into data store. Next time launching UI, -Load Default Fields -call LoadCustomizations to apply user settings -And allow user to reconfigure the view (columns/positions) With combination of this field selector GUI and user performing drag and drop action on the grid, I am experiencing different behavior when programatically move the columns around. For me to understand this better, A. What is the value of ActualPosition.Column before user perform drag and drop? Does the actual position gets changed after doing drag and drop? Does the position of the dragged field get reset to original value when ClearCustomizations(CustomizationType.FieldPosition) gets called? If so it get reset to the position before calling LoadCustomization or position after calling LoadCustomizations? B. What is the expected value for Fields.Move oldIndex? Is that the current field index in Fields collection OR it is the Field.ActualPosition.Column OR it is Field.Column C. What should I do if I want user to do drag and drop to move the columns around and/or use my field selector UI to perform the same. I guess I need a solution that would work in both the cases where by I can move the columns programmatically irrespective of user performed drag and drop or not. I would have to debug on this to understand it better, it would save my cycles if anyone had researched on this already. Thanks for helping out.