Манипулирование
Доступ к данным
Для получения доступа к данным ячеек сначала получите DataRecord
:
|
Теперь вы можете использовать методы, которые возвращают определенные типы значений, для получения значений ячеек:
|
Итерация по записям
Часто бывает необходимо обработать все записи таблицы. DataTable
легко выполняет эту задачу с помощью интерфейса Iterable
:
|
Для экземпляра |
Клонирование таблиц и элементов таблиц
Метод clone()
работает по-разному для разных подтипов DataTable
:
Для SimpleDataTable
, метод возвращает полную копию экземпляра. Тип клонированного экземпляра также SimpleDataTable
.
Для экземпляров таблиц ResultSetDataTable
, FilteringDataTable
или ProxyDataTable
, метод возвращает SimpleDataTable
, содержащую клоны записей, представленных в оригинальной таблице на момент клонирования.
Обратите внимание, что метод |
Также возможно клонировать запись или формат таблицы:
|
Кодирование и декодирование таблиц
Кодирование таблиц данных работает по-разному для разных подтипов DataTable
:
Любую SimpleDataTable
можно закодировать в строку и восстановить без потери данных. Экземпляр SimpleDataTable
кодируется совместно со всеми ее записями.
Для кодирования и декодирования SimpleDataTable
используйте следующий код:
|
Экземпляры ResultSetDataTable
или FilteringDataTable
кодируются по-другому. Их записи не кодируются, вместо этого кодируются их идентификаторы. Эти ID позволяют соответствующей ProxyDataTable
расположить таблицу на Сервере и получить доступ к нужным записям.
Экземпляры ProxyDataTable
не кодируются, так как не требуют такой операции.
Отбор яйчеек таблиц
Для нахождения первой записи, имеющей значение поля Integer field1
, равное 123, используйте следующий код:
|
Если такая запись не найдена, данный метод вернет null
.
Сортировка таблиц
Сортировать модно только экземпляры SimpleDataTable
. Для сортировки SimpleDataTable
в соответствии со значениями поля field1
, используйте этот код:
|
Для сортировки таблицы данных отличного от SimpleDataTable
типа, сначала клонируйте ее, чтобы получить SimpleDataTable
копию оригинальной таблицы, а затем отсортируйте клонированный экземпляр.
Дублирование таблиц
Часто бывает необходимо копировать данные в разных таблицах. Прежде всего, DataTable
можно клонировать (см. выше).
Однако более расширенные операции дублирования таблиц доступны как статические методы класса DataTableReplication
:
- Методы семейств
copy()
копируют данные из одной таблицы в другую, сохраняя ключевые поля, доступные только для чтения и не предназначенные для дублирования поля, минимальное/максимальное количество записей и прочее - Методы семейств
copyRecord()
дублируют данные из однойDataRecord
в другую, также сохраняя большинство опций
Расширенные операции
Некоторые расширенные операции таблицы, такие как создание таблиц из списков значений или обработка привязок таблицы, доступны в двух вспомогательных классах с открытым исходным кодом: DataTableBuilding
и DataTableUtils
.