Визуализация: Таблица

Обзор

Таблица, которую можно сортировать и разбивать на страницы. Ячейки таблицы можно форматировать с помощью строк формата или путем прямой вставки HTML в качестве значений ячеек. Числовые значения выравниваются по правому краю; логические значения отображаются в виде галочек. Пользователи могут выбирать отдельные строки с помощью клавиатуры или мыши. Пользователи могут сортировать строки, щелкая заголовки столбцов. Строка заголовка остается фиксированной при прокрутке пользователем. Таблица запускает ряд событий, соответствующих взаимодействию с пользователем.

Пример

<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <div id="table_div"></div> google.charts.load('current', {'packages':['table']}); google.charts.setOnLoadCallback(drawTable); function drawTable() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Name'); data.addColumn('number', 'Salary'); data.addColumn('boolean', 'Full Time Employee'); data.addRows([ ['Mike', {v: 10000, f: '$10,000'}, true], ['Jim', {v:8000, f: '$8,000'}, false], ['Alice', {v: 12500, f: '$12,500'}, true], ['Bob', {v: 7000, f: '$7,000'}, true] ]); var table = new google.visualization.Table(document.getElementById('table_div')); table.draw(data, {showRowNumber: true, width: '100%', height: '100%'}); } <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script> <div id="table_div"></div> google.charts.load('current', {'packages':['table']}); google.charts.setOnLoadCallback(drawTable); function drawTable() { var data = new google.visualization.DataTable(); data.addColumn('string', 'Name'); data.addColumn('number', 'Salary'); data.addColumn('boolean', 'Full Time Employee'); data.addRows([ ['Mike', {v: 10000, f: '$10,000'}, true], ['Jim', {v:8000, f: '$8,000'}, false], ['Alice', {v: 12500, f: '$12,500'}, true], ['Bob', {v: 7000, f: '$7,000'}, true] ]); var table = new google.visualization.Table(document.getElementById('table_div')); table.draw(data, {showRowNumber: true, width: '100%', height: '100%'}); }
<html>
  <head>
    <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
    <script type="text/javascript">
      google.charts.load('current', {'packages':['table']});
      google.charts.setOnLoadCallback(drawTable);

      function drawTable() {
        var data = new google.visualization.DataTable();
        data.addColumn('string', 'Name');
        data.addColumn('number', 'Salary');
        data.addColumn('boolean', 'Full Time Employee');
        data.addRows([
          ['Mike',  {v: 10000, f: '$10,000'}, true],
          ['Jim',   {v:8000,   f: '$8,000'},  false],
          ['Alice', {v: 12500, f: '$12,500'}, true],
          ['Bob',   {v: 7000,  f: '$7,000'},  true]
        ]);

        var table = new google.visualization.Table(document.getElementById('table_div'));

        table.draw(data, {showRowNumber: true, width: '100%', height: '100%'});
      }
    </script>
  </head>
  <body>
    <div id="table_div"></div>
  </body>
</html>

Загрузка

Имя пакета google.charts.load"table" .

  google.charts.load('current', {packages: ['table']});

Имя класса визуализации — google.visualization.Table .

  var visualization = new google.visualization.Table(container);

Формат данных

DataTable преобразуется в соответствующую HTML-таблицу, при этом каждая строка/столбец в DataTable преобразуется в строку/столбец в HTML-таблице. Каждый столбец должен иметь один и тот же тип данных, и поддерживаются все стандартные типы данных визуализации (строка, логическое значение, число и т. д.).

Пользовательские свойства

Вы можете назначить следующие настраиваемые свойства элементам таблицы данных, используя метод setProperty() DataTable .

Имя свойства Относится к Описание
className Клетка Строковое имя класса для назначения отдельной ячейке. Используйте это, чтобы назначить стиль CSS для отдельных ячеек.
стиль Клетка Строка стиля, которая будет встроена в ячейку. Это переопределит стили класса CSS, примененные к этой ячейке. Вы должны установить свойство allowHtml=true, чтобы это работало. Пример: 'border: 1px solid green;' .

Пример

dataTable.setCell(22, 2, 15, 'Fifteen', {style: 'font-style:bold; font-size:22px;'});

Параметры конфигурации

Имя
разрешитьHtml

Если установлено значение true, отформатированные значения ячеек, содержащих теги HTML, будут отображаться как HTML. Если установлено значение false, большинство пользовательских средств форматирования не будут работать должным образом.

Тип: логический
По умолчанию: ложь
чередование строк

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

Тип: логический
По умолчанию: правда
cssClassNames

Объект, в котором каждое имя свойства описывает элемент таблицы, а значение свойства представляет собой строку, определяющую класс, назначаемый этому элементу таблицы. Используйте это свойство, чтобы назначить пользовательский CSS для определенных элементов вашей таблицы. Чтобы использовать это свойство, назначьте объект, где имя свойства указывает элемент таблицы, а значение свойства представляет собой строку, указывающую имя класса, назначаемое этому элементу. Затем вы должны определить стиль CSS для этого класса на своей странице. Поддерживаются следующие имена свойств:

  • headerRow — присваивает имя класса строке заголовка таблицы (элемент <tr> ).
  • tableRow — присваивает имя класса строкам без заголовков (элементы <tr> ).
  • oddTableRow — присваивает имя класса нечетным строкам таблицы (элементы <tr> ). Примечание. Для параметра alternatingRowStyle должно быть установлено значение true.
  • selectedTableRow — присваивает имя класса выбранной строке таблицы (элемент <tr> ).
  • hoverTableRow — присваивает имя класса строке таблицы, находящейся под курсором (элемент <tr> ).
  • headerCell — присваивает имя класса всем ячейкам в строке заголовка (элемент <td> ).
  • tableCell — присваивает имя класса всем ячейкам таблицы, не являющимся заголовком (элемент <td> ).
  • rowNumberCell — присваивает имя класса ячейкам в столбце номеров строк (элемент <td> ). Примечание. Для параметра showRowNumber должно быть установлено значение true.

Пример: var cssClassNames = {headerRow: 'bigAndBoldClass',
hoverTableRow: 'highlightClass'};

Примечание. В CSS некоторые элементы переопределяют другие. Например, если вы указываете цвет фона для элемента <tr> и элемента <td> , последний имеет приоритет над первым. Обязательно укажите все соответствующие стили CSS в cssClassNames , чтобы избежать конфликтов.

Тип: объект
По умолчанию: ноль
номер первой строки

Номер строки для первой строки в dataTable. Используется, только если showRowNumber имеет значение true.

Тип: номер
По умолчанию: 1
замороженные столбцы

Количество столбцов слева, которые будут заморожены. Эти столбцы останутся на месте при горизонтальной прокрутке остальных столбцов. Если showRowNumber задано значение false , то установка frozenColumns значения 0 будет выглядеть так же, как если бы для него было задано значение null , но если showRowNumber задано значение true , столбец с номером строки будет заморожен.

Тип: номер
По умолчанию: ноль
высота

Задает высоту элемента контейнера визуализации. Вы можете использовать стандартные единицы измерения HTML (например, «100px», «80em», «60»). Если единицы измерения не указаны, предполагается, что это число равно пикселям. Если не указано, браузер автоматически отрегулирует высоту, чтобы она соответствовала размеру таблицы, максимально уменьшая ее в процессе; если задано значение меньше требуемой высоты, к таблице будет добавлена ​​вертикальная полоса прокрутки (строка заголовка также фиксируется). Если установлено значение «100%», таблица максимально расширится до элемента-контейнера.

Тип: строка
По умолчанию: автоматически
страница

Если и как включить постраничную прокрутку данных. Выберите одно из следующих строковых значений:

  • 'включить' - таблица будет включать кнопки перехода на страницу вперед и назад. Щелчок по этим кнопкам выполнит операцию постраничного просмотра и изменит отображаемую страницу. Возможно, вы также захотите установить параметр pageSize.
  • «событие» — таблица будет включать кнопки перехода на страницу вперед и назад, но нажатие на них вызовет событие «страница» и не изменит отображаемую страницу. Эту опцию следует использовать, когда код реализует собственную логику перелистывания страниц. См. пример TableQueryWrapper для примера того, как вручную обрабатывать события разбиения на страницы.
  • 'disable' - [ По умолчанию ] Пейджинг не поддерживается.
  • Тип: строка
    По умолчанию: «отключить»
размер страницы

Количество строк на каждой странице, когда разбиение по страницам включено с опцией страницы.

Тип: номер
По умолчанию: 10
pagingButtons

Задает указанный параметр для кнопок пейджинга. Варианты следующие:

  • 'both' - включить кнопки "предыдущий" и "следующий"
  • «предыдущая» — активна только кнопка «Предыдущая»
  • 'далее' - активна только кнопка "Далее"
  • 'авто' - кнопки активируются в соответствии с текущей страницей. На первой странице отображается только следующая. На последней странице отображается только пред. В противном случае оба включены.
  • number - количество отображаемых кнопок пейджинга. Это явное число переопределит вычисленное число из pageSize.
Тип: строка или число
По умолчанию: «авто»
rtlТаблица

Добавляет базовую поддержку языков с письмом справа налево (таких как арабский или иврит) путем изменения порядка столбцов в таблице таким образом, чтобы нулевой столбец был крайним правым столбцом, а последний столбец — крайним левым столбцом. Это не влияет на индекс столбца в базовых данных, а только на порядок отображения. Полное двунаправленное (BiDi) языковое отображение не поддерживается визуализацией таблицы даже с этой опцией. Этот параметр будет проигнорирован, если вы включите разбиение по страницам (используя параметр страницы) или если в таблице есть полосы прокрутки, потому что вы указали параметры высоты и ширины меньше требуемого размера таблицы.

Тип: логический
По умолчанию: ложь
scrollLeftStartPosition

Устанавливает позицию горизонтальной прокрутки в пикселях, если таблица имеет горизонтальные полосы прокрутки, потому что вы установили свойство ширины. Таблица откроется с прокруткой на столько пикселей за крайний левый столбец.

Тип: номер
По умолчанию: 0
показатьRowNumber

Если установлено значение true, показывает номер строки в качестве первого столбца таблицы.

Тип: логический
По умолчанию: ложь
Сортировать

Если и как сортировать столбцы, когда пользователь щелкает заголовок столбца. Если сортировка включена, рассмотрите возможность установки свойств sortAscending и sortColumn. Выберите одно из следующих строковых значений:

  • «включить» — [ по умолчанию ] Пользователи могут щелкать заголовки столбцов для сортировки по выбранному столбцу. Когда пользователи нажимают на заголовок столбца, строки будут автоматически отсортированы, и будет запущено событие сортировки.
  • «событие» — когда пользователи нажимают на заголовок столбца, запускается событие «сортировки», но строки не сортируются автоматически. Эту опцию следует использовать, когда на странице реализована собственная сортировка. См. пример TableQueryWrapper для примера того, как обрабатывать события сортировки вручную.
  • 'отключить' — щелчок по заголовку столбца не дает никакого эффекта.
Тип: строка
По умолчанию: «включить»
Сортировать по возрастанию

Порядок, в котором сортируется исходный столбец сортировки. Верно для возрастания, ложно для убывания. Игнорируется, если sortColumn не указан.

Тип: логический
По умолчанию: правда
sortColumn

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

Тип: номер
По умолчанию: -1
Стартовая страница

Первая отображаемая страница таблицы. Используется только если page находится в режиме enable/event.

Тип: номер
По умолчанию: 0
ширина

Задает ширину элемента-контейнера визуализации. Вы можете использовать стандартные единицы измерения HTML (например, «100px», «80em», «60»). Если единицы измерения не указаны, предполагается, что это число равно пикселям. Если не указано, браузер автоматически отрегулирует ширину, чтобы она соответствовала размеру таблицы, максимально уменьшая ее в процессе; если она меньше требуемой ширины, к таблице будет добавлена ​​горизонтальная полоса прокрутки. Если установлено значение «100%», таблица максимально расширится до элемента-контейнера.

Тип: строка
По умолчанию: автоматически

Методы

Метод
draw(data, options)

Рисует таблицу.

Тип возврата: нет
getSelection()

Стандартная реализация getSelection. Элементы выбора — это все элементы строки. Может возвращать более одной выбранной строки. Индексы строк в объекте выбора ссылаются на исходную таблицу данных независимо от любого взаимодействия с пользователем (сортировка, разбиение по страницам и т. д.).

Обратите внимание, что выбор (ы) переключается: щелчок по ячейке в первый раз выделяет ее; Повторный щелчок по ячейке отменяет ее выбор, что приводит к событию выбора, но в извлеченном объекте выбора нет выбранных элементов.

Тип возвращаемого значения: Массив элементов выбора
getSortInfo()

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

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

Тип возвращаемого значения: объект со следующими свойствами:
  • column - (число) Индекс столбца, по которому сортируется таблица.
  • ascending - (логическое значение) true, если сортировка по возрастанию, false, если сортировка по убыванию.
  • sortedIndexes — (числовой массив) Массив чисел, где индекс в массиве — это отсортированный номер строки (в видимой таблице), а значение — это индекс этой строки в базовой (несортированной) таблице данных.
setSelection(selection)

Стандартная реализация setSelection() , но может выбирать только целые строки или несколько строк. Индексы строк в объекте выбора ссылаются на исходную таблицу данных независимо от любого взаимодействия с пользователем (сортировка, разбиение по страницам и т. д.).

Тип возврата: нет
clearChart()

Очищает диаграмму и освобождает все выделенные ей ресурсы.

Тип возврата: нет

События

Имя
Выбрать

Стандартное событие выбора, но могут быть выбраны только целые строки.

Свойства: Нет
страница

Запускается, когда пользователи нажимают кнопку навигации по странице.

Свойства: page : Номер. Индекс страницы для перехода.
Сортировать

Запускается, когда пользователи щелкают заголовок столбца, а параметр сортировки не отключен.

Свойства: объект со следующими свойствами:
  • column - (число) Индекс столбца, по которому сортируется таблица.
  • ascending - (логическое значение) true, если сортировка по возрастанию, false, если сортировка по убыванию.
  • sortedIndexes — (числовой массив) Массив чисел, где индекс в массиве — это номер строки, отсортированный (в видимой таблице), а значение — это индекс этой строки в базовой (несортированной) таблице данных.
готовы

Диаграмма готова к вызову внешних методов. Если вы хотите взаимодействовать с диаграммой и вызывать методы после ее рисования, вы должны настроить прослушиватель для этого события до вызова метода рисования и вызывать их только после запуска события.

Свойства: Нет

Форматтеры

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

В следующей таблице показаны устаревшее средство форматирования таблиц и эквивалентное ему универсальное средство форматирования. При написании нового кода следует использовать общий форматировщик.

Средство форматирования таблиц
ТаблицаСтрелкаФормат google.visualization.ArrowFormat
TableBarФормат google.visualization.BarFormat
ТаблицаЦветФормат google.visualization.ColorFormat
Таблица ДатаФормат google.visualization.DateFormat
ТаблицаНомерФормат google.visualization.NumberFormat
ТаблицаШаблонФормат google.visualization.PatternFormat

Важно: форматтеры часто используют HTML для форматирования своего текста; поэтому вы должны установить для параметра allowHtml значение true .

Политика данных

Весь код и данные обрабатываются и отображаются в браузере. Никакие данные не отправляются ни на один сервер.