Сортировка в разделе по колонке типа "целое число", не выведенной в представление, но существующей в объекте схемы раздела

Здравствуйте.

Подскажите, как программно заставить раздел сортироваться по колонке, не выведенной в представление, но существующей в объекте схемы раздела?

Нашел в сообществе:

getGridDataColumns: function() {
        var columnsConfig = this.callParent(arguments);
        columnsConfig.NumberDecimal = {
                path: "NumberDecimal",
                orderPosition: 10,
                orderDirection: 1
        };
        return columnsConfig;
}

Но это не работает.

Нравится

4 комментария

Добрый день.
Попробуйте:

/**
 * Возвращает колонки, которые всегда выбираются запросом.
 * @protected
 * @overridden
 * @return {Object} Возвращает массив объектов-конфигураций колонок.
 */
getGridDataColumns: function() {
	var baseGridDataColumns = this.callParent(arguments);
	var gridDataColumns = {
		"SmrNumber": {path: "SmrNumber"}
	};
	return Ext.apply(baseGridDataColumns, gridDataColumns);
},
/**
 * Инициализирует колонки сортировки.
 * @protected
 * @overridden
 * @param {Terrasoft.EntitySchemaQuery} esq Запрос, в который будут инициализорованы опции сортировки.
 */
initQuerySorting: function(esq) {
	var sortedColumn = esq.columns.collection.get("SmrNumber");
	if (sortedColumn) {
		sortedColumn.orderPosition = 0;
		sortedColumn.orderDirection = this.Terrasoft.OrderDirection.DESC;
	}
}

Здравствуйте, Дмитрий.
Спасибо. Это то что нужно.

Здравствуйте, подскажите, как отфильтровать по колонке связанного справочника?
Например, есть деталь, в ней справочное поле, а в справочнике целочисленное поле.
Деталь UsrPrimaryContact, справочное поле UsrRelationType поле UsrOrder. Т.е. нужно отсортировать по UsrRelationType.UsrOrder

Уже разобрался. Спасибо за хороший пример.

 /**
                 * Возвращает колонки, которые всегда выбираются запросом.
                 * @protected
                 * @overridden
                 * @return {Object} Возвращает массив объектов-конфигураций колонок.
                 */
                getGridDataColumns: function () {
                    var baseGridDataColumns = this.callParent(arguments);
                    var gridDataColumns = {
                    	"UsrRelationshipType": {path: "UsrRelationshipType"},
                        "UsrRelationshipType.UsrOrder": {path: "UsrRelationshipType.UsrOrder"}
                    };
                    return Ext.apply(baseGridDataColumns, gridDataColumns);
                },
                /**
                 * Инициализирует колонки сортировки.
                 * @protected
                 * @overridden
                 * @param {Terrasoft.EntitySchemaQuery} esq Запрос, в который будут инициализорованы опции сортировки.
                 */
                initQuerySorting: function (esq) {
                    debugger;
                    var sortedColumn = esq.columns.collection.get("UsrRelationshipType.UsrOrder");
                    if (sortedColumn) {
                        sortedColumn.orderPosition = 0;
                        sortedColumn.orderDirection = this.Terrasoft.OrderDirection.ASC;
                    }
                },
Показать все комментарии