2016-10-05 4 views
0

Я недавно начал использовать Угловую ui-сетку. Я не очень хорошо разбираюсь в внутренних библиотеках.Сортировка столбца сетки uI, содержащего угловой фильтр

У меня был столбец ui-grid, необходимый для отображения процентов. SO Я добавил следующий фильтр к моему app и использовал его вместе с ui-gridcellFilter.

module.filter('percentage', function() { 
    return function (input) { 
     if (!input) { 
      return ''; 
     } else { 
      return input + '%'; 
     } 
    }; 
}) 

Это работало нормально, но при сортировке этой колонки. Сортировка работает неожиданно. Предположим, что у меня есть 3 строки со значениями 100,200,300. Я ожидаю, что он может иметь только два отсортированных состояния 100,200,300 и 300,200,100. Но если я продолжаю нажимать на заголовок этого столбца, я получаю третье состояние как 200, 300, 100 или как 100, 300,200. Я даже не уверен, что шаблон для этого состояния.

Если я прав, угловой фильтр работает только на views и не влияет на модель поля. Поэтому я не думаю, что добавление filter может повлиять на сортировку.

Кроме того, две ожидаемые сортировки (ASCENDING, DESCENDING) отображаются отлично, единственной проблемой является появление третьего. Как решить эту проблему.

Я пропустил какую-либо реализацию ?? Пожалуйста, помогите мне решить это.

Редактировать: Эта проблема возникает и для столбца строки. В моем понимании может быть только одно ASCENDING и одно DESCENDING состояние в том, что касается сортировки. Но я получаю больше договоренностей.

+0

при использовании сортировки из ui-grid у вас есть третье состояние - заказ по умолчанию - это данные, отображаемые в том порядке, в котором он был загружен. Это можно увидеть и для их примера: http://ui-grid.info/docs/#/tutorial/102_sorting – rave

+0

Спасибо @ rave Есть ли способ, который, если после сортировки строки после этого должны переключаться только между заказами ASCENDING и DESCENDING, избегая по умолчанию. –

ответ

1

Вы можете использовать sortDirectionCycle, чтобы удалить третье состояние сортировки.

columnDefs: [ 
    { field: 'name', sortDirectionCycle: [uiGridConstants.ASC, uiGridConstants.DESC] }, 
    { field: 'gender', sortDirectionCycle: [uiGridConstants.ASC, uiGridConstants.DESC] }, 
    { field: 'company', enableSorting: false } 
] 

Из документа, при нажатии на заголовок столбца, направление сортировки будет цикл возрастания, затем убывания, а затем обратно в несортированный. Вы можете изменить этот цикл или пропустить его часть, установив параметр sortDirectionCycle columnDef. Для получения дополнительной информации проверьте эту ссылку sortDirectionCycle

+0

Звуки, вызывающие ... Попробовали принять ответ. Принят после тестирования .... –

+0

Yup Sure ....... – Vikash

 Смежные вопросы

  • Нет связанных вопросов^_^