striker

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

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

  • Посещение

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

  • Звание
    Пользователь

Посетители профиля

Блок последних пользователей отключён и не показывается другим пользователям.

Включить
  1. striker

    Обновляются не те записи (!)

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

    Выбор записей checkbox'ом

    Не понял что такое просто список ключей... Точнее в интерфейсе как это будет.
  3. striker

    Выбор записей checkbox'ом

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

    Объединение ячеек одного стоблца

    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. striker

    Объединение ячеек одного стоблца

    Пробовал через OnDrawColumnCell. Пока не получается.
  6. striker

    Объединение ячеек одного стоблца

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

    Объединение ячеек одного стоблца

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

    Долго загружаются данные в Grid

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

    Долго загружаются данные в Grid

    Да, на хостинге лежит
  10. striker

    Долго загружаются данные в Grid

    enatechno, спасибо! Действительно в Вашем примере и у меня моментально загружается... Проблема не в Grid и не в запросе, а получается в их соединении. Попробую ещё раз с нуля создать другой запрос и другой Grid. Непонятно...
  11. striker

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

    Долго загружаются данные в Grid

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

    Долго загружаются данные в Grid

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

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

    Долго загружаются данные в Grid

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