Компьютерный форум NoWa.cc

Компьютерный форум NoWa.cc (https://nowa.cc/index.php)
-   Delphi (https://nowa.cc/forumdisplay.php?f=300)
-   -   А как в DBGrid'е? (https://nowa.cc/showthread.php?t=146937)

Artispro 20.02.2008 19:46

А как в DBGrid'е?
 
1. Как вывести новую форму, кликнув на нужной ячейке в DBGrid'е?
2. Как показать изменение времени в определенной ячейке DBGrid'а?

mdanko2000 21.02.2008 20:03

Ответ: А как в DBGrid'е?
 
1. OnCellClick скорее всего?
2. что есть "изменение времени"?

Artispro 22.02.2008 10:39

Ответ: А как в DBGrid'е?
 
Цитата:

Сообщение от mdanko2000 (Сообщение 1482004)
1. OnCellClick скорее всего?
2. что есть "изменение времени"?

Спасибо за ответ.

В нужной ячейке будет отображаться время вкл. двигателя. При достижении определенного значения данные в этой ячейке фиксируются, а в следующей ячейке продолжается счет:
|100|101..и т.д.|

mdanko2000 24.02.2008 06:30

Ответ: А как в DBGrid'е?
 
Тогда наверно DBGrid не подойдёт. Т.к. если будет много записей и все обновлять это будет что-то немыслимое.
По мне так проще тогда загрузить данные в массив и отрисовывать в DrawGrid

Artispro 24.02.2008 15:08

Ответ: А как в DBGrid'е?
 
Цитата:

Сообщение от mdanko2000 (Сообщение 1487979)
Тогда наверно DBGrid не подойдёт. Т.к. если будет много записей и все обновлять это будет что-то немыслимое.
По мне так проще тогда загрузить данные в массив и отрисовывать в DrawGrid


Если можете(извините за наглость), напишите примерно как это будет в кодах.

Я с DrawGrid'ом не работал, а шеф поропит.

abudabu 25.02.2008 00:05

Ответ: А как в DBGrid'е?
 
Юзай DevExpress и не мучайся, на стандартных гридах далеко не уедешь

mdanko2000 26.02.2008 19:58

Ответ: А как в DBGrid'е?
 
С DrawGrid довольно все просто. Данные загружаешь в массив или список. И из хранилища в событии DrawGrid1DrawCell отрисовываешь как тебе надо.
Например:
Код:

type

  ListMenuItem=Class
      ID:integer;
      Caption:String;
      GRow,
      GCol:Integer;
  End;
.......

procedure TfrmOrder.DrawGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
Var i:integer;
begin

    if (gdFocused in State) or (gdSelected in State )then
      begin
      DrawGrid1.Canvas.Brush.Color:=clNavy;
      DrawGrid1.Canvas.Pen.Color:=clWhite;
      DrawGrid1.Canvas.Font.Color:=clWhite;
      end
    else
      begin
      DrawGrid1.Canvas.Brush.Color:=clWhite;
      DrawGrid1.Canvas.Pen.Color:=clBlack;
      DrawGrid1.Canvas.Font.Color:=clBlack;
      end;
  DrawGrid1.Canvas.FillRect(Rect);

  For i:=0 to ListMenu.Count-1 do
  if  (ListMenuItem(ListMenu.Items[i]).GRow=(ARow)) and
    (ListMenuItem(ListMenu.Items[i]).GCol=ACol) then
    begin
    DrawGrid1.Canvas.TextRect(Rect,ListMenuItem(ListMenu.Items[i]).Caption,[tfCenter,tfVerticalCenter, tfWordBreak]);
    end;
end;

Хотя не знаю что этот код тебе даст. Посмотри в демках которые идут с Дельфи там должен быть хотя бы один DrawGrid


Текущее время: 09:09. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc

Время генерации страницы 0.02249 секунды с 9 запросами