Сортировка
Функция сортировки позволяет упорядочивать данные в электронных таблицах, чтобы их было удобнее систематизировать и анализировать. Поддерживаются различные способы сортировки, в том числе по возрастанию, по убыванию и пользовательская сортировка, что помогает быстро находить нужные данные.
Фильтр и сортировка учебного плана
Отберите курсы и отсортируйте их по прогрессу. Идентификатор помогает найти ту же запись.
| ID записи | Курс | Прогресс |
|---|---|---|
| 1 | Sheets | 86% |
| 2 | Docs | 100% |
| 3 | Slides | 64% |
| 4 | Bases | 92% |
| 5 | Boards | 48% |
| 6 | PDFs | 78% |
Видимые записи: 6 / 6
Фильтр скрывает записи, а сортировка меняет порядок. Снимите фильтр, чтобы снова увидеть все записи.
Режим плагинов
Установка
pnpm add @univerjs/sheets-sort @univerjs/sheets-sort-uinpm install @univerjs/sheets-sort @univerjs/sheets-sort-uiyarn add @univerjs/sheets-sort @univerjs/sheets-sort-uibun add @univerjs/sheets-sort @univerjs/sheets-sort-uiИспользование
import { LocaleType, mergeLocales, Univer } from '@univerjs/core'import { UniverSheetsSortPlugin } from '@univerjs/sheets-sort'import { UniverSheetsSortUIPlugin } from '@univerjs/sheets-sort-ui'import SheetsSortUIEnUS from '@univerjs/sheets-sort-ui/locale/en-US'import '@univerjs/sheets-sort-ui/lib/index.css'import '@univerjs/sheets-sort/facade'const univer = new Univer({ locale: LocaleType.EN_US, locales: { [LocaleType.EN_US]: mergeLocales( SheetsSortUIEnUS, ), },})univer.registerPlugin(UniverSheetsSortPlugin)univer.registerPlugin(UniverSheetsSortUIPlugin)Поддержка мобильных устройств
Сначала настройте мобильный редактор. В коде инициализации режима плагинов на этой странице замените указанные настольные регистрации мобильными экспортами тех же пакетов до открытия документа. Сохраните модели, стили, локализации и импорты Facade; не регистрируйте оба варианта.
| Пакет | Настольная регистрация | Мобильная регистрация |
|---|---|---|
@univerjs/sheets-sort-ui | UniverSheetsSortUIPlugin | UniverSheetsSortMobileUIPlugin |
Режим предустановок
Установка
pnpm add @univerjs/preset-sheets-sortnpm install @univerjs/preset-sheets-sortyarn add @univerjs/preset-sheets-sortbun add @univerjs/preset-sheets-sortИспользование
import { UniverSheetsCorePreset } from '@univerjs/preset-sheets-core'import UniverPresetSheetsCoreEnUS from '@univerjs/preset-sheets-core/locales/en-US'import { UniverSheetsSortPreset } from '@univerjs/preset-sheets-sort'import UniverPresetSheetsSortEnUS from '@univerjs/preset-sheets-sort/locales/en-US'import { createUniver, LocaleType, mergeLocales } from '@univerjs/presets'import '@univerjs/preset-sheets-core/lib/index.css'import '@univerjs/preset-sheets-sort/lib/index.css'const { univerAPI } = createUniver({ locale: LocaleType.EN_US, locales: { [LocaleType.EN_US]: mergeLocales( UniverPresetSheetsCoreEnUS, UniverPresetSheetsSortEnUS, ), }, presets: [ UniverSheetsCorePreset(), UniverSheetsSortPreset(), ],})Facade API
Полные определения типов Facade API приведены в разделе FacadeAPI.
Импорт
Примечание о режиме плагинов
Импортировать пакет Facade вручную нужно только в режиме плагинов. В режиме предустановок соответствующий пакет Facade уже включён, поэтому дополнительный импорт не требуется.
import '@univerjs/sheets-sort/facade'Сортировка листа
Метод FWorksheet.sort(colIndex, asc) позволяет отсортировать лист по указанному столбцу.
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()// Sorts the worksheet in ascending order based on the first columnfWorksheet.sort(0)// Sorts the worksheet in descending order based on the first columnfWorksheet.sort(0, false)Сортировка диапазона
Метод FRange.sort(column) позволяет отсортировать ячейки указанного диапазона по заданному столбцу и направлению.
const fWorkbook = univerAPI.getActiveWorkbook()const fWorksheet = fWorkbook.getActiveSheet()const fRange = fWorksheet.getRange('D1:G10')// Sorts the range in ascending order based on the first columnfRange.sort(0)// Sorts the range in descending order based on the first columnfRange.sort({ column: 0, ascending: false })// Sorts the range in descending order based on the first column and ascending order based on the second columnfRange.sort([{ column: 0, ascending: false }, 1])Обработчики событий
Полные определения типов событий приведены в разделе Events.
Событие SheetRangeSorted возникает после завершения сортировки диапазона ячеек.
const disposable = univerAPI.addEvent(univerAPI.Event.SheetRangeSorted, (params) => { const { workbook, worksheet, range, sortColumn } = params})// Remove event listener using `disposable.dispose()`Событие SheetBeforeRangeSort возникает перед сортировкой диапазона ячеек.
const disposable = univerAPI.addEvent(univerAPI.Event.SheetBeforeRangeSort, (params) => { const { workbook, worksheet, range, sortColumn } = params // Cancel the sorting operation params.cancel = true})// Remove event listener using `disposable.dispose()`Насколько полезно это руководство?