Как я могу иметь сортируемый столбец на основе вложенного объекта data.record?

#javascript #jquery #typescript #sorting #jquery-jtable

#javascript #jquery #typescript #сортировка #jquery-jtable

Вопрос:

Я использую jquery jtable для отображения некоторых данных в таблице. Для каждого поля в таблице я использую что-то вроде этого для отображения данных и поддержки сортировки:

 sorting: true,
display: (data) =>{
    return data.record.<whatever_value>;
}
 

И это работает для каждого поля, которое у меня есть в таблице, за исключением одного, в котором мне нужно сортировать на основе вложенного объекта в record . Но это не работает, я делаю это вместо этого:

 sorting: true,
display: (data) =>{
    return data.record.<Nested_Object>.<Nested_value>;
}
 

Я ни за что на свете не могу понять, в чем проблема. Если кто-нибудь может указать мне правильное направление, я был бы очень признателен. Приветствия.

Ответ №1:

JTable не выполняет никакой сортировки. Вся сортировка фактически выполняется на сервере. Jtable отправляет запрос listAction с параметром jtSorting = «fieldName ASC/DESC».;

На сервере обычно все, что выполняется, — это проверка параметра и передача его в базу данных в предложении ORDER. В вашем случае вам нужно будет распознать специальное поле и предоставить составное предложение ORDER для любого количества подполей, по которым вам нужно отсортировать.