Как Сортировать Таблицу Данных как Таблица Случаев FogBugz

StackOverflow https://stackoverflow.com/questions/470866

  •  19-08-2019
  •  | 
  •  

Вопрос

Кто-нибудь когда-нибудь видел, как fogbugz сортирует свои таблицы? Когда вы нажимаете, чтобы отсортировать столбец, они фактически разбивают таблицу на множество небольших таблиц, в которых есть каждая категория информации.

Хотите знать, если кто-нибудь знает, как они это делают?

Хотите реализовать эту функцию.

Если вы посмотрите на страницу дел и разберетесь, вы поймете, что я имею в виду.

Любая помощь будет УДИВИТЕЛЬНОЙ!

До сих пор не понял этого.

РЕДАКТИРОВАТЬ: @Peter, я не хочу отправлять и воссоздавать таблицу каждый раз, когда заголовок заголовка щелкается для сортировки. Я также хочу знать, является ли их общее решение для этого. Если щелкнуть заголовок, чтобы отсортировать его с помощью javascript, он разделяет & Quot; one & Quot; таблицы во многих, и я хочу знать, является ли их какое-либо общее решение для этого, потому что это просто НАМНОГО лучший способ просмотра отсортированной таблицы.

РЕДАКТИРОВАТЬ: мне нужен сортировщик javascript, но если вы посмотрите прямо на реализацию fogbugz, она даст другой результат ...

Это было полезно?

Решение

Да, Рич понял (я давно закодировал эту функцию в FogBugz).

Если вам нужно сделать это на клиенте, у вас нет выбора, кроме как сортировать данные, выполнять итерацию по ним, генерируя строку таблицы за строкой таблицы, и каждый раз, когда вы нажимаете новое значение сортировки, вы создаете новую thead с соответствующими информация.

Честно говоря, это было бы довольно крутой модификацией этого плагина jQuery: http://tablesorter.com/docs/ и вы сможете использовать много их работы. Если вы собираетесь потратить время и создать общее решение, оно может сделать его доступным для сообщества.

Другие советы

Не зная, как конкретно Fog Creek выполняет это, я бы сделал вывод для заголовка таблицы, а затем перебрал бы список, выводя нижний колонтитул и новый заголовок при каждом изменении значения группы.

Не уверен, какой ответ вы ожидаете. SQL-запрос для этого будет просто использовать порядок для выбранного столбца, и пользовательский интерфейс будет запускать новую таблицу каждый раз, когда это значение изменяется.

Вот скриншот FogBugz с этой сортировкой после нажатия на столбец Приоритет.

http://img297.imageshack.us/img297/6974/76755363ee3.png

Конечно, начинать новую таблицу не имеет смысла для каждого столбца (title, case #).

<Ч>

Изменить. Если я правильно понимаю, вы ищете способ сделать это в браузере без загрузки новой страницы. Если это так, я бы предложил, по крайней мере, некоторую поддержку на стороне сервера, которая бы возвращала ваши данные в правильном порядке и правильно структурировалась для подтаблиц (в xml / json / независимо от того, что вы используете). Ваш javascript будет использовать эти данные для воссоздания таблиц. Я уверен, что другие с большим опытом работы с веб-интерфейсом предоставят вам лучшие ответы.

Я использовал скрипт Sortable Tables из Kryogenix с некоторыми хорошими результатами .

Я не знаю, уместно ли это, но мы сохраняем результаты запроса во временной таблице в SQL, а затем ссылаемся на current-row-less-one, чтобы увидеть, изменилась ли категория, и указываем это в результат.

В некоторых случаях мы & указываем " это с колонкой, содержащей

<tr><td colspan=999>Category Heading</td></tr>

чтобы веб-страница могла просто & добавить " что в таблицу он строит.

SELECT Col1, Col2, ...,
       [CATEGORY] = CASE WHEN T1.CategoryCol <> COALESCE(T2.CategoryCol, '')
           THEN '<tr><td colspan=999>' + T1.CategoryCol + '</td></tr>'
           ELSE ''
           END
FROM #MyTempTable AS T1
     LEFT OUTER JOIN #MyTempTable AS T2
         ON T2.ID = T1.ID - 1
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top