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


Автор: Lunatikus 3.9.2007, 10:25
Здравствуйте.какие свойства грида (или подключенного Query) дадут определить,какой столбец и строка были выбраны мышкой?

Автор: Lunatikus 3.9.2007, 10:50
обнаружил,что это возможно только в стринггриде.Тема закрыта.

Автор: Savek 3.9.2007, 10:55
А зачем? вот код доработки компонента
Код


Код улучшенного TDBGrid, имеющего свойства Col,
Row и Canvas и метод CellRect. Это чрезвычайно
полезно в случае, если вы, к примеру, хотите
получить выпадающий список на месте редактируемой
пользователем ячейки.
}

unit VUBComps;

interface

uses

  SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
  Forms, Dialogs, Grids, DBGrids, DB, Menus;

type

  TDBGridVUB = class(TDBGrid)
  private
    { Private declarations }
  protected
    { Protected declarations }
  public
    property Canvas;
    function CellRect(ACol, ARow: Longint): TRect;
    property Col;
    property Row;

    procedure Register;

implementation

procedure Register;
begin

  RegisterComponents('VUBudget', [TDBGridVUB]);
end;

function TDBGridVUB.CellRect(ACol, ARow: Longint): TRect;
begin

  Result := inherited CellRect(ACol, ARow);
end;

end.



если нужно получить значение то, все гораздо проще
Код

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
ShowMessage(DBGrid1.DataSource.DataSet.FieldByname(Column.FieldName).AsString);
end;



Автор: Lunatikus 3.9.2007, 11:14
вот!именно второе нужно.Даже и не догадывался что так можно.noob.Зато пробел восполнил,спасибо =)

Автор: Rodman 3.9.2007, 11:26
и короче мона
Код

procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
    ShowMessage(ADOQuery.FieldByname(Column.FieldName).AsString);
end;

Автор: Cinemaizer[Олег] 28.8.2010, 16:39
Хмм... в обычном DBGrid событие OnCellClick доступно, но в DBGridEh почему то нет :( Странно. А как например в обычный EditBox передать значение какогонть поля из текущей позиции\курсора грида? То бишь имитируем деятельность DBEdit таким образом при смене позиции\курсора... (обработчик "целлклика" где значение поля передается в обычный EditBox) ? 

Автор: Keeper89 28.8.2010, 17:40
Cinemaizer[Олег], создайте новую тему, хватит некропостить.

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