![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Друзья подскажите!
У меня есть forma1 на не grid и на этот grid нужно сделать onCellClick Чтобы можно было выбирать строку для редактирования как это сделать?? |
|
#2
|
|||
|
|||
|
помогите кто нить =)
|
|
#3
|
||||
|
||||
|
Создаёшь компонент-наследник стандартного DBGrid и в нём фигаришь необходимые свойства:
Код:
unit CoolDBGrid;
interface
uses
SysUtils, Classes, Controls, Grids, DBGrids, WinTypes, WinProcs, Messages,
Graphics, Forms, Dialogs, DB, Menus;
type
TCoolDBGrid = class(TDBGrid)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
property Canvas;
function CellRect(ACol, ARow: Longint): TRect;
property Col; //текущий столбец
property Row;//текущая строка
property InplaceEditor;//Содержимое ячейки. Можно использовать для копирования в буфер обмена
property DefaultRowHeight;//Высота строки по умолчанию
published
{ Published declarations }
property OnClick;//Щелчок мыши
property RowCount;//Количество строк (вместе с заголовками)
property ColCount;//Количество столбцов (Вместе с индикатором)
property VisibleColCount;//Примерно то же самое
property VisibleRowCount;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Others', [TCoolDBGrid]);
end;
function TCoolDBGrid.CellRect(ACol, ARow: Longint): TRect;
begin
Result := inherited CellRect(ACol, ARow);
end;
end.Последний раз редактировалось Klassenas, 03.07.2011 в 23:30. |
|
#4
|
||||
|
||||
|
судя по разделу "Базы данных" речь идет о TDBGrid? у него есть событие:
property OnCellClick: TDBGridClickEvent; type TDBGridClickEvent = procedure (Column: TColumn) of object; в нем можно получить номер записи (если применимо к текущей БД) и поле по которому кликнули: Код:
procedure TForm1.DBGrid1CellClick(Column: TColumn); begin Caption:='FieldName='+Column.FieldName+' RecNo='+IntToStr(Column.Grid.DataSource.DataSet.RecNo); end; |