グリッドがすでにデータ行にバインドされており、複数の列があると想像してみましょう。
次の方法で、特定の列位置インデックスを取得できることがわかりました。
var fieldsLayout = grid.FieldLayouts[0];
var columnField = fieldsLayout.Fields.Single(f => f.Name == "Column Name");
int columnIndex = ... see below
columnField.Index
-ユーザーが最初の列の順序を変更しなかった場合columnField.ActualPosition.Column
-ユーザーが最初の列の順序を変更した場合
問題は、ユーザーが最初の列の順序を変更したかどうかを知る方法です。