public static void Set_PositionColumn(IModelListViewPositionColumn listView, IModelColumn modelColumn) { listView.SetValue("PositionColumn", modelColumn); var settingsBehavior = listView.GetNodeByPath("GridViewOptions/SettingsBehavior"); settingsBehavior?.ClearValue("AllowSort"); settingsBehavior?.ClearValue("AllowSelectSingleRowOnly"); if (modelColumn != null) { settingsBehavior?.SetValue("AllowSort", true); settingsBehavior?.SetValue("AllowSort", false); settingsBehavior?.SetValue("AllowSelectSingleRowOnly", true); modelColumn.SortIndex = 0; modelColumn.SortOrder = ColumnSortOrder.Ascending; modelColumn.Index = -1; foreach (var column in listView.Columns.Where(column => column != modelColumn)) { column.SortOrder = ColumnSortOrder.None; column.SortIndex = -1; } } }
public static IEnumerable <IModelColumn> Get_SortableColumns(IModelListViewPositionColumn column) { var modelColumns = column.Columns.Where(modelColumn => modelColumn.ModelMember != null && modelColumn.ModelMember.MemberInfo.MemberType == typeof(int)); return(new CalculatedModelNodeList <IModelColumn>(modelColumns)); }