qz5
Пользователи-
Постов
151 -
Зарегистрирован
-
Посещение
-
Победитель дней
13
Весь контент qz5
-
вероятно потому, что Вы записали Integer, т.е. целое число, а читаете Currency, а это вещественное число
-
извините, совсем слепой стал
-
ASum:=ASum + AItem.Data['Cost'].AsCurrency; Наверное будет работать и так в одну строку: TListViewItem (ListView.Items.Item).Data['Cost'].AsCurrency Ваш Капитан Очевидность
-
У меня используется только один FDConnection и один FDQuery. В FDQuery идет Select запрос из базы, а от FDQuery уже байндится на ListView вот если так оставить, то при запросе - всё тормозится на несколько секунд и может выводиться сообщение, что "приложение не отвечает" а если убрать байндинг - всё быстро пока сделал так: байндинг убрал, а вместо него в цикле обрабатывают результаты запроса и добавляю ListItem, причем после каждого добавления выполняю application.processmessages
-
Это база данных, с которыми будут работать пользователи. У кого-то 500-700, у кого 30-50, а у кого-то может и десятки тысяч (такое возможно). Короче решил сделать вообще без лайвбиндинга, а просто запрашивать данные, потом например по 1000 создавать Item в ListView, а если хочет дальше, то просто с помощью пагинации, а не бесконечной прокруткой.
-
Спасибо, посмотрю. У меня долго именно байндинг, потому что сделал как тут советуют: https://stackoverflow.com/questions/37830470/firedac-freezes-gui и тогда долго работает именно эта процедура: procedure TQueryThread.TransferData; begin Form.FDQuery1.DisableControls; Form.FDQuery1.Data := Query.Data; Form.FDQuery1.EnableControls; end; причем если закомментировать: Form.FDQuery1.Data := Query.Data; тогда всё быстро. А как раз на FDQuery1 и привязан Лайвбингдинг, как только в нем появляются данные - это занимает кучу времени.
-
нет, я только манифест менял но возможно Вы манифест меняли обычным блокнотом например, его нао править только программами, которые не добавляют ВОМ например с помощью Notepad++
-
Делаю приложение для Андроид, у которого есть база данных на SQLITE, в нем будут сотни и тысячи записей. По нажатию кнопки должен происходить поиск и вывод значений из базы. Сделал так: положил на форму FDConnection, FDQuery, ListView и сделал биндинг значений от FDQuery в айтемы ListView. При нажатии кнопки "Выборка" идет простой Select запрос и приложение "задумывается", т.е. интерфейс полностью останавливается. Сделал в отдельном потоке вот так: TThread.Synchronize(nil, procedure begin FDConnection1.Params.Values['Database'] := PathToDB; FDConnection1.Connected := True; FDQuery1.Active := True; end); но всё равно интерфейс останавливается. Как сделать выборку из базы без фризов интерфейса?
-
Супер! А как он выглядит на мобильных устройствах?