Не скрою, что основной проблемой FireMonkey, в том виде, в котором платформа была презентована в RAD Studio XE2, лично мне виделась неудобная работа с БД. Прежде всего, речь идет о визуализации данных. Напомню, что в FireMonkey нет так называемых db-aware компонентов. Связывание производится с использованием механизма LiveBinding. Это вызывало определенные затруднения у разработчиков.
Естественно, именно работа с данными, это первое, что я хотел посмотреть в FM2. К тому же, тех, кто планирует купить Delphi до 28 сентября ожидает подарок – TMS Grid for FireMonkey. Насколько мне известно, это единственный полноценный грид для FireMonkey от сторонних разработчиков.
Я сделал небольшое тестовое приложение. Для тестового примера я использовал БД MS Access. Приведенное ниже видео демонстрирует настройку соединения.
Первое, что меня приятно приятно удивило это Visual LiveBinding. В своем примере я использовал TMS Grid for FireMonkey, который до 28 сентября прилагается в подарок к Delphi, C++ Builder и RAD Studio XE3. Подключение грида к источнику данных производится буквально с помощью пары щелчков мышки. По сути это не сложнее чем в VCL.
Для того, что бы при работе с автоинкрементными полями в гриде не было артефактов, после добавления новой записи в таблицу нужно обновить автоматически созданный объект LinkGridToDataSource1.
Еще одним интересным моментом в Visual LiveBinding является возможность автоматического создания контролов, подключенных к отдельным полям таблицы.
Visual LiveBinding предоставляет множество возможностей для экспериментов. В частности, мне без проблем удалось подключить обычный TGrid к источнику данных (то, чего я так и не смог сделать в XE2).
А в сочетании с возможностями TMS Grid for FireMonkey (о которых я еще планирую рассказать) обновленный механизм LiveBinding вполне может позволить создать реально работающие коммерческие приложения, работающие с БД.
здорово… а что с ошибкой? это грид или механизм livebinding попытался записать число 6 введенное в колонке finteger в поле fboolean (в последнем видео)?
Похоже, грид
Приятно, что наконец то связь с БД стала в FM юзабельной. Только вот с методической точки зрения, я думаю, что стоит демонстрации проводить не в ADO, а, допустим, с dbExpress – в таком случае можно еще в итоге показать работу и в Mac, а не привязываться к ОС.
Подскажите как отображать все записи таблицы, делаю всё как указано в интернете, но у меня отображается только 200 записей, хотя в таблице их намного больше.
Заметил ужасающий баг в компонентах TGrid и TStringrid из Firemonkey 3, RAD Studio XE5: они отображают максимум 200 строк (по крайней мере в режиме LiveBinding и на Андроиде), сколько бы из ни было в исходном запросе. Вы с этим сталкивались? В Сети эта проблема обсуждается вполголоса.
Второй недостаток этих сеток – они дико тормозные в Андроиде.
Третий – перепрокрутка в них не работает.