striker

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

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

  • Посещение

  1. 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; Вот, что получилось самое лучшее. Как убрать белую линию-разделитель ячеек по горизонтали?
  2. Пробовал через OnDrawColumnCell. Пока не получается.
  3. Товарищи, дайте наводку как хотя бы обвести рамкой сгруппированные подряд 2 ячейки (как на скрине). Спасибо!
  4. Всем привет! Нужен совет. Есть Grid, в нем расписание дня. В БД каждая строка это отдельная запись. Нужно как-то визуально сделать подобие объединения ячеек в Excel. Т.е. нужно занять расписание на 2 часа. При этом функционал по событиям для строки "второго часа" должен быть недоступен. Может хотя бы границу стирать, т.е. оставлять значение в верхней ячейки, а нижнюю просто не отображать. Как это лучше сделать? FMX, Windows, Delphi XE6, MySQL
  5. Нашел... У Query в событии AfterScroll у меня обновлялись связанные таблицы... Это и вешало всё. Перенес на Grid.OnSelectCell Как проходил мимо этого - непонятно. Время кстати такое было: В Delphi 7 алгоритм заполнения через DataSource другой? Делал там аналогично - такого не наблюдается. enatechno, krapotkin, спасибо большое за участие!
  6. Да, на хостинге лежит
  7. enatechno, спасибо! Действительно в Вашем примере и у меня моментально загружается... Проблема не в Grid и не в запросе, а получается в их соединении. Попробую ещё раз с нуля создать другой запрос и другой Grid. Непонятно...
  8. 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;
  9. Это не так удобно. Конечно можно написать свой обработчик/компонент чтобы к любому гриду так цепляться, но я пока ещё не достиг такого уровня )) Тем более если были стандартные решения (тот же DataSource) Мне нужно: ходить по гриду, вызывать на редактирование запись по двойному щелчку, показывать связанные с основной таблицы в окне с главным гридом. LiveBindings действительно загрузку в Grid вешает. Заливается Grid руками намного быстрее. Приму ещё советы по упрощению этих проблем ))
  10. krapotkin, спасибо! А при ручном заполнении AfterScroll по Query при перемещении по записям Grid как сделать? Т.е. раньше я ходил по Grid и выполнялся Query.AfterScroll
  11. 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?
  12. Посмотрел, на Берлин пока переходить не вариант... куча несостыковок. Весь мозг сломал как в этой версии XE6 обойтись без LiveBindings... Как руками заполнить Grid? Есть Query и Grid. Пробовал по-разному - то одного не знает, то другого
  13. enatechno, спасибо! Через LiveBindings. Если переходить на Berlin - Grid'ы надо как-то будет переделывать нынешние?
  14. Нагуглил тут про FMX.Types.GlobalUseDirect2D := False; Не помогло. Что ещё отключить можно? Собственно приложение задумывалось быть кросслпатформенным. Но сейчас используется только под Windows. Так что все "навороты" можно поотключать, если в этом дело.
  15. да... Delphi XE6