Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > DBGrid


Автор: MacTep 14.8.2005, 13:54
Как получить значение в ячейке DBGrid'а с номером [3,5], даже не выделяя запись мышью. То есть просто при наведении на нее мышью? Спасибо!

Автор: mvdr 15.8.2005, 07:03
вроде:
Код

Edit1.Text:=DBGrid.Cells[i,j].Text;

Автор: ~FoX~ 15.8.2005, 08:13
Femida
А нету у DBGrid-а свойства Cells

Скорее всего надо через onMouseMove по координатам определять номер записи в рекордсете и дергать необходимое поле из этой записи.

Автор: mvdr 15.8.2005, 08:22
~FoX~ я с DBGrid'ом не работал smile
Добавлено @ 08:22
тогда да, только через координаты

Автор: MacTep 22.8.2005, 11:01
Цитата
Скорее всего надо через onMouseMove по координатам определять номер записи в рекордсете и дергать необходимое поле из этой записи.

Вот это меня и волнует. Подскажите, плиз, как правильно это сделать?

Автор: Romikgy 22.8.2005, 12:24
Цитата
А нету у DBGrid-а свойства Cells

Нету , но у него есть свойство типа DataSet а у этого свойства есть ячейки smile

Автор: Akella 22.8.2005, 14:11
можно так
Код

  TStringGrid(DBGrid1).Cells[3,5]


или так
Код

  DBGrid1(TStringGrid).Cells[3,5]

точно не помню

не забывайте ООП и наследование. smile


Автор: MacTep 23.8.2005, 00:09
dsergey, спасибо! smile

Автор: Vet 1.9.2005, 17:22
Цитата
при наведении на нее мышью

А как насчет MouseCoord?
В обработчике события OnMouseMove:

DBGridEh.MouseCoord(X, Y).X - это 3.
DBGridEh.MouseCoord(X, Y).Y - это 5.

Автор: offline 1.9.2005, 18:21
Все зависит от выбранного DBGrid
для стандартного TDBGrid

Код

procedure DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X,Y: Integer);
 var GCord: TGridCoord;
begin
 GCord:= TDBGrid(Sender).MouseCoord(X, Y);
 Label1.Caption:= IntToStr(GCord.X);
 Label2.Caption:= IntToStr(GCord.Y); 
end;


Y - строка
X - столбец


для TDBGridEh - есть метод GetEditText(X, Y)
Код

Str:= TDBGridEh(Sender).GetEditText(GCord.X, GCord.Y);



для TdxDBFGrid - у строки есть свойство Values[].

Автор: MacTep 1.9.2005, 19:15
kirilllius, отлично. Спасибо!!!

Автор: Vet 8.9.2005, 22:37
Цитата
для TDBGridEh - есть метод GetEditText(X, Y)

В таком виде
Цитата
Str:= TDBGridEh(Sender).GetEditText(GCord.X, GCord.Y);
работать не будет
А в котором работает, у меня почему-то видно только первую запись
Добавлено @ 22:38
Цитата
для TDBGridEh - есть метод GetEditText(X, Y)

В таком виде
Цитата
Str:= TDBGridEh(Sender).GetEditText(GCord.X, GCord.Y);
работать не будет
А в котором работает, у меня почему-то видно только первую запись

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)