striker
Пользователи-
Постов
25 -
Зарегистрирован
-
Посещение
Весь контент striker
-
Всем привет! Глупый вопрос. Есть в БД таблица, допустим clients, в ней поля: ID, FIO. Я заполняю Comboboх строчками из поле FIO. Как мне быстро узнавать ID в БД у выбранной FIO? Сейчас фильтрую Query по значению, которое находится в выбранной строчке Combobox, но это не дело же...
-
slav_z, спасибо, но не получилось. Всё так же, либо я как-то не так применяю. Создал процедуру, объявил её. Она вызывается в OnClose? Или как? Не подскажете какой именно? TnTRayIcon? У меня сразу раскрывается главное окно, принудительно я его не разворачиваю. И да, кстати... как бы это странно не звучало, но приложение используется только под виндой.
-
Всем привет! Delphi XE6 FMX Есть приложение, главная форма на весь экран. Пользователь сворачивает его. Появляется всплывающее сообщение по таймеру - маленькая форма (Form1.Show). Проблема: При свернутом приложении когда появляется сообщение, закрываешь эту маленькую форму и разворачивается главное окно программы, а нужно просто закрыть уведомление и дальше работать с другими программами. Как можно решить? Спасибо!
-
MySQL, FireDac, XE6, FMX, Windows Есть Query, Grid, по двойному щелчку на гриде открывается форма редактирования записи. Update делается по ID из Query. Так вот, на одном компе иногда что-то происходит и обновляется не та запись, а соседняя... Форма модальная. Интересно, в какой момент "соскакивает" курсор на записи? Или что-то ещё. Лучше конечно считывать ID в переменную при открытии формы и потом обращаться к ней, а я при Update обращаюсь к Query...
-
Не понял что такое просто список ключей... Точнее в интерфейсе как это будет.
-
Всем привет! Задача: в Grid записи из БД, FDQuery. Нужно пользователю чекбоксами выделить нужные записи в гриде, чтобы программа потом по ним пробежалась и выполнила определенные действия. Никак не могу добиться. Неужели лепить временную таблицу с доп.полем (выделено/нет) чтобы чекколумн привязать? Подскажите, как можно реализовать это?
-
if (zqOneDay5.FieldByName('TwoHoursKind').Value=2) and (Column = TGrid(Sender).Columns[1]) then begin TextRect := Bounds; TextRect.Left := TextRect.Left+2; TextRect.Right:= TextRect.Right-1; TextRect.Top := TextRect.Top-(TextRect.Bottom-TextRect.Top)+1; TextRect.Bottom :=TextRect.Bottom-2; TextRect.Inflate(-HorzTextMargin, -VertTextMargin); Canvas.Stroke.Thickness:=2; Canvas.Stroke.Color:=TAlphaColorRec.Blue; Canvas.DrawRect(TextRect, 0, 0, AllCorners, 1); Canvas.Stroke.Thickness:=1; TGrid(Sender).DefaultDrawColumnCell(Canvas, Column, Bounds, Row, Value, State); end; Вот, что получилось самое лучшее. Как убрать белую линию-разделитель ячеек по горизонтали?
- 6 ответов
-
- объединение ячеек
- fmx
-
(и ещё 1 )
C тегом:
-
Пробовал через OnDrawColumnCell. Пока не получается.
- 6 ответов
-
- объединение ячеек
- fmx
-
(и ещё 1 )
C тегом:
-
Товарищи, дайте наводку как хотя бы обвести рамкой сгруппированные подряд 2 ячейки (как на скрине). Спасибо!
- 6 ответов
-
- объединение ячеек
- fmx
-
(и ещё 1 )
C тегом:
-
Всем привет! Нужен совет. Есть Grid, в нем расписание дня. В БД каждая строка это отдельная запись. Нужно как-то визуально сделать подобие объединения ячеек в Excel. Т.е. нужно занять расписание на 2 часа. При этом функционал по событиям для строки "второго часа" должен быть недоступен. Может хотя бы границу стирать, т.е. оставлять значение в верхней ячейки, а нижнюю просто не отображать. Как это лучше сделать? FMX, Windows, Delphi XE6, MySQL
- 6 ответов
-
- объединение ячеек
- fmx
-
(и ещё 1 )
C тегом:
-
Нашел... У Query в событии AfterScroll у меня обновлялись связанные таблицы... Это и вешало всё. Перенес на Grid.OnSelectCell Как проходил мимо этого - непонятно. Время кстати такое было: В Delphi 7 алгоритм заполнения через DataSource другой? Делал там аналогично - такого не наблюдается. enatechno, krapotkin, спасибо большое за участие!
-
enatechno, спасибо! Действительно в Вашем примере и у меня моментально загружается... Проблема не в Grid и не в запросе, а получается в их соединении. Попробую ещё раз с нуля создать другой запрос и другой Grid. Непонятно...
-
kraporkin, спасибо! Проблема не решилась. Изначально я убрал LiveBindings , т.к. думал тормозит заливка грида из-за него. А заливка даже ручная, какую я написал всё-равно тормозит и заливает в грид секунд 15-20... MainForm.StringGrid1.BeginUpdate; try MainForm.qClients.First; for i:=0 to MainForm.qClients.RecordCount-1 do begin MainForm.StringGrid1.RowCount:=MainForm.StringGrid1.RowCount+1; MainForm.StringGrid1.Cells[0, i] :=MainForm.qClients.FieldByName('FAM').AsString; MainForm.StringGrid1.Cells[1, i] :=MainForm.qClients.FieldByName('IM').AsString; MainForm.StringGrid1.Cells[2, i] :=MainForm.qClients.FieldByName('ID').AsString; MainForm.zqClients.Next; end; finally MainForm.StringGrid1.EndUpdate; end;
-
Это не так удобно. Конечно можно написать свой обработчик/компонент чтобы к любому гриду так цепляться, но я пока ещё не достиг такого уровня )) Тем более если были стандартные решения (тот же DataSource) Мне нужно: ходить по гриду, вызывать на редактирование запись по двойному щелчку, показывать связанные с основной таблицы в окне с главным гридом. LiveBindings действительно загрузку в Grid вешает. Заливается Grid руками намного быстрее. Приму ещё советы по упрощению этих проблем ))
-
krapotkin, спасибо! А при ручном заполнении AfterScroll по Query при перемещении по записям Grid как сделать? Т.е. раньше я ходил по Grid и выполнялся Query.AfterScroll
-
Grid2.BeginUpdate; try for i:=0 to qClients.RecordCount-1 do begin XXX:=qClients.Fields[0].AsString; qClients.Next; end; finally Grid2.EndUpdate; end; Что должно быть вместо XXX?
-
Посмотрел, на Берлин пока переходить не вариант... куча несостыковок. Весь мозг сломал как в этой версии XE6 обойтись без LiveBindings... Как руками заполнить Grid? Есть Query и Grid. Пробовал по-разному - то одного не знает, то другого
-
Нагуглил тут про FMX.Types.GlobalUseDirect2D := False; Не помогло. Что ещё отключить можно? Собственно приложение задумывалось быть кросслпатформенным. Но сейчас используется только под Windows. Так что все "навороты" можно поотключать, если в этом дело.
-
Добрый день! Работаю с MySQL Подключаюсь через FireDac. FDQuery+FDConnecton+Bind+Grid Запрос выполняется моментально, но как только подключаю Grid - начинает висеть. Grid заполняется очень долго - секунд 12-15. Причем результат запроса - всего 230 строк, хоть и join присутствует. Куда копать? Может дело быть именно в FMX?
-
Всем привет! Я новичок в FMX. Сталкиваюсь с проблемами различий с VCL. Некоторые проблемы: 1) Текст в edit мышью невозможно выделить, выделение скачет. Думаю связано с заточкой под тач, как починить и возможно ли - нигде не нашёл. 2) Покрасить грид (строчку) в зависимости от значения можно? В VCL это делается OnDrawColumnCell Спасибо!