![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Столбец DbGrid [D6, Paradox]
NickNaz © (2003-12-23 12:49:00)
Добрый день!
Возможно ли в DbGrid закрепить один из столбцов?
Если да, то как это сделать?
Спасибо.
Vlad (2003-12-24 13:41:00) [1]
> Anatoly Podgoretsky © (24.12.03 13:34) [18]
Ну так вроде я об этом и пытался в [12] сказать, но кажется бесполезно :-)
Anatoly Podgoretsky (2003-12-24 13:34:00) [2]
Vlad © (24.12.03 13:31) [17]
У автора конечно, а зачем наверно и так понятно из обсуждения :-)
А у Шевченко как надо.
Vlad (2003-12-24 13:31:00) [3]
> Anatoly Podgoretsky © (24.12.03 13:24) [16]
У него - у кого ?
У Шевченко или у автора ветки ?
У автора ветки - это поле (а зачем оно ?), а у Шевченко - метод :-)
Anatoly Podgoretsky (2003-12-24 13:24:00) [4]
Vlad © (24.12.03 13:02) [12]
SetAllowColumnMoved у него поле, а не метод.
Vlad (2003-12-24 13:23:00) [5]
> NickNaz © (24.12.03 13:13) [13]
> После procedure SetAllowColumnMoved(b: boolean);
> пишет Unsatisfied forward or external declaration: "TexDBGrid.SetAllowColumnMoved"
Уфффф.... тяжко....
Ну если ты объявил метод класса, то наверное надо и реализацию сделать ?
Читаем книги по Delphi для начала, иначе будет туго. Дело в том что задача эта нетривиальная.
Alex_Bredin (2003-12-24 13:13:00) [6]
что-то непонятно что автор ветки имеет в виду под словом "закрепить".
то что вам советуют- это трактовка "запретить перемещение этого столбца на другую позицию". То ли вам нужно? или нужно как в экселе(или в StringGrid FixedCol(?)) "зафиксировать столбец(или ячейку)"
в последнем случае -DBGridEh, как и было сказано ранее.
NickNaz (2003-12-24 13:13:00) [7]
После procedure SetAllowColumnMoved(b: boolean);
пишет Unsatisfied forward or external declaration: "TexDBGrid.SetAllowColumnMoved"
Vlad (2003-12-24 13:02:00) [8]
Во-первых END в конце описания типа не поставил, во вторых где описание процедуры SetAllowColumnMoved? Я вижу описание переменной SetAllowColumnMoved.
Должно быть что-то вроде этого
TexDBGrid = class(TDBGrid)
private
FAllowColumnMoved: Boolean;
procedure SetAllowColumnMoved(b: boolean);
public
Property AllowColumnMoved : Boolean read FAllowColumnMoved write SetAllowColumnMoved;
protected
function BeginColumnDrag(var Origin, Destination: Integer; const MousePt: TPoint): Boolean; override;
end;
Sandman25 (2003-12-24 13:02:00) [9]
Судя по [10], лучше все-таки использовать DBGridEh...
NickNaz (2003-12-24 12:56:00) [10]
Vlad © (24.12.03 12:52) [9]
type
TexDBGrid = class(TDBGrid);
...
private
FAllowColumnMoved: Boolean;
SetAllowColumnMoved: Boolean;
public
Property AllowColumnMoved : Boolean read FAllowColumnMoved write SetAllowColumnMoved;
protected
function BeginColumnDrag(var Origin, Destination: Integer; const MousePt: TPoint): Boolean; override;
Vlad (2003-12-24 12:52:00) [11]
> NickNaz © (24.12.03 12:30) [8]
Приведи полноеописание типа TexDBGrid из твоего кода
NickNaz (2003-12-24 12:30:00) [12]
Vlad © (24.12.03 12:06) [7]
Пишет следующее:
Method "BeginColumnDrag" not found in base class
после:
protected
function BeginColumnDrag(var Origin, Destination: Integer; const MousePt: TPoint): Boolean; override;
Vlad (2003-12-24 12:06:00) [13]
Наверное она у тебя не объявлена :-)
TexDBGrid = class(TDBGrid)
private
...
FAllowColumnMoved: Boolean;
...
public
Property AllowColumnMoved : Boolean read FAllowColumnMoved write SetAllowColumnMoved;
protected
function BeginColumnDrag(var Origin, Destination: Integer; const MousePt: TPoint): Boolean; override;
NickNaz (2003-12-24 11:34:00) [14]
Anatoly Podgoretsky © (24.12.03 11:23) [5]
Сделал SetAllowColumnMoved присутствующим.
Затем ругается на функцию:
Undeclared identifier: "BeginColumnDrag"
";" expected but "(" found
"=" expected but ")" found
Undeclared identifier: "Result"
This form of method call only allowed in methods of derived types
function TexDBGrid.BeginColumnDrag(var Origin, Destination: Integer; const MousePt: TPoint): Boolean;
Begin
Result:=FAllowColumnMoved;
IF Result Then Result:= Inherited BeginColumnDrag(Origin,Destination,MousePt);
Anatoly Podgoretsky (2003-12-24 11:23:00) [15]
Или это FAllowColumnMovedили это SetAllowColumnMovedотсутствует
NickNaz (2003-12-24 11:12:00) [16]
Vlad © (23.12.03 12:54) [2]
Последовал вашему совету Delphi ругается: "Field or method identifier expected" после
Property AllowColumnMoved : Boolean read FAllowColumnMoved write SetAllowColumnMoved;
Sandman25 (2003-12-23 12:56:00) [17]
[2] Vlad © (23.12.03 12:54)
Мда... а ведь я это читал когда-то... Иду перечитаю :)
Sandman25 (2003-12-23 12:54:00) [18]
Можно использовать DBGridEh из бесплатной библиотеки EhLib. Как сделать со стандартным - не знаю.
Vlad (2003-12-23 12:54:00) [19]
http://www.delphikingdom.ru/helloworld/nogrid.htm#03_2