striker

Пользователи
  • Публикаций

    20
  • Зарегистрирован

  • Посещение

Информация о striker

  • Звание
    Пользователь
  1. Обновляются не те записи (!)

    MySQL, FireDac, XE6, FMX, Windows Есть Query, Grid, по двойному щелчку на гриде открывается форма редактирования записи. Update делается по ID из Query. Так вот, на одном компе иногда что-то происходит и обновляется не та запись, а соседняя... Форма модальная. Интересно, в какой момент "соскакивает" курсор на записи? Или что-то ещё. Лучше конечно считывать ID в переменную при открытии формы и потом обращаться к ней, а я при Update обращаюсь к Query...
  2. Выбор записей checkbox'ом

    Не понял что такое просто список ключей... Точнее в интерфейсе как это будет.
  3. Выбор записей checkbox'ом

    Всем привет! Задача: в Grid записи из БД, FDQuery. Нужно пользователю чекбоксами выделить нужные записи в гриде, чтобы программа потом по ним пробежалась и выполнила определенные действия. Никак не могу добиться. Неужели лепить временную таблицу с доп.полем (выделено/нет) чтобы чекколумн привязать? Подскажите, как можно реализовать это?
  4. Объединение ячеек одного стоблца

    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; Вот, что получилось самое лучшее. Как убрать белую линию-разделитель ячеек по горизонтали?
  5. Объединение ячеек одного стоблца

    Пробовал через OnDrawColumnCell. Пока не получается.
  6. Объединение ячеек одного стоблца

    Товарищи, дайте наводку как хотя бы обвести рамкой сгруппированные подряд 2 ячейки (как на скрине). Спасибо!
  7. Объединение ячеек одного стоблца

    Всем привет! Нужен совет. Есть Grid, в нем расписание дня. В БД каждая строка это отдельная запись. Нужно как-то визуально сделать подобие объединения ячеек в Excel. Т.е. нужно занять расписание на 2 часа. При этом функционал по событиям для строки "второго часа" должен быть недоступен. Может хотя бы границу стирать, т.е. оставлять значение в верхней ячейки, а нижнюю просто не отображать. Как это лучше сделать? FMX, Windows, Delphi XE6, MySQL
  8. Долго загружаются данные в Grid

    Нашел... У Query в событии AfterScroll у меня обновлялись связанные таблицы... Это и вешало всё. Перенес на Grid.OnSelectCell Как проходил мимо этого - непонятно. Время кстати такое было: В Delphi 7 алгоритм заполнения через DataSource другой? Делал там аналогично - такого не наблюдается. enatechno, krapotkin, спасибо большое за участие!
  9. Долго загружаются данные в Grid

    Да, на хостинге лежит
  10. Долго загружаются данные в Grid

    enatechno, спасибо! Действительно в Вашем примере и у меня моментально загружается... Проблема не в Grid и не в запросе, а получается в их соединении. Попробую ещё раз с нуля создать другой запрос и другой Grid. Непонятно...
  11. Долго загружаются данные в 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;
  12. Долго загружаются данные в Grid

    Это не так удобно. Конечно можно написать свой обработчик/компонент чтобы к любому гриду так цепляться, но я пока ещё не достиг такого уровня )) Тем более если были стандартные решения (тот же DataSource) Мне нужно: ходить по гриду, вызывать на редактирование запись по двойному щелчку, показывать связанные с основной таблицы в окне с главным гридом. LiveBindings действительно загрузку в Grid вешает. Заливается Grid руками намного быстрее. Приму ещё советы по упрощению этих проблем ))
  13. Долго загружаются данные в Grid

    krapotkin, спасибо! А при ручном заполнении AfterScroll по Query при перемещении по записям Grid как сделать? Т.е. раньше я ходил по Grid и выполнялся Query.AfterScroll
  14. Долго загружаются данные в Grid

    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?
  15. Долго загружаются данные в Grid

    Посмотрел, на Берлин пока переходить не вариант... куча несостыковок. Весь мозг сломал как в этой версии XE6 обойтись без LiveBindings... Как руками заполнить Grid? Есть Query и Grid. Пробовал по-разному - то одного не знает, то другого