и пак за DBGRID ....
11 отговора
0 прегледа
и пак за DBGRID ....
тъй, имам си го значи и си имам много колони..... и редове...
Как по дяволите, когато юзерът се придвижва в грида с хоризонталния скрол, да замръзя две колони от грида и да се виждат????, в което и да е положение се намира хор. скрол....
май не го обясних много добре, обаче тотално зациклих....
Как по дяволите, когато юзерът се придвижва в грида с хоризонталния скрол, да замръзя две колони от грида и да се виждат????, в което и да е положение се намира хор. скрол....
май не го обясних много добре, обаче тотално зациклих....
Re: и пак за DBGRID ....
Може, ама си е бая труд. По-лесно и бързо е да ползваш друг компонент, например [линк]
чети и дишай по-леко
чети и дишай по-леко
Re: и пак за DBGRID ....
Май разбрах какво искаш - нещо като FixedCols на StringGrid, но май не ноже да стане. Аз исках и друго - да забраня разместването на колони в DBGrid, но и това май не може. По-рано правех друг екшън - прехвърлях базата данни в StringGrid и обратно и това ми даваше някои екстрички - например това, което ти искаш, а и някои други неща. Но си е голяма хамалогия - разработка на специализирани процедури, защити и др.
Re: и пак за DBGRID ....
Мда... тъпото е, че друг компонент не мога да използвам ..... поне за сега...
прерових денс нета, ама за тоя грид нищо не открих
Имам и друга идея... два грида към един и същ датасет и в единия да се виждат двете(или трите колони) и във втория останалите данни....
това първоначална идея, доколко е удачна и осъществима ...хм, ще видим..
утре ще го мъча...
прерових денс нета, ама за тоя грид нищо не открих
Имам и друга идея... два грида към един и същ датасет и в единия да се виждат двете(или трите колони) и във втория останалите данни....
това първоначална идея, доколко е удачна и осъществима ...хм, ще видим..
утре ще го мъча...
Редактирано от AйeзCeдaй на
Re: и пак за DBGRID ....
Хм, имам още една идея...
А ако скролът не се появява за първите две колони? Те ще са заковани и няма да се придвижват...
И естестено следващият въпрос е как аджеба мое да стане ?
А ако скролът не се появява за първите две колони? Те ще са заковани и няма да се придвижват...
И естестено следващият въпрос е как аджеба мое да стане ?
Re: и пак за DBGRID ....
Тоя грид можеш да го дръпнеш от Torry.net . Има Source но до версия 5 на Delphi.
Re: и пак за DBGRID ....
използвай руската DBGridEh -може да замразява колони . За рускоговорящите е безплатна
Re: и пак за DBGRID ....
мда... супер, обаче за съжаление поради ред причини (частична политика на фирмата, разни custom dll и т.н).... не мога да използвам друг компонент

тъй че ша са боря с т'ва гридче... и накрая ще ме победи
тъй че ша са боря с т'ва гридче... и накрая ще ме победи
Re: и пак за DBGRID ....
Момчета, срам не срам пратих майл на Зарко и ... пичът ми отговори след два часа... Евала....
Поствам дословно майла му....
Hi
You can use the following code, but it has some strange side-effects !
type
TMyDBGrid = class(TDBGrid);
procedure TForm1.FormCreate(Sender: TObject);
begin
TMyDBGrid(DBGrid1).FixedCols := 2;
end;
..............................................
Zarko Gajic
About Guide to Delphi Programming
и ооо, Богове, наистина първата ми колонка "замръзна", когато скролвах от ляво на дясно... Супер....
с тази разлика, е TMyDBGrid(DBGrid1).FixedCols := 2; , го пльоснах в
TForm1.DBGrid2CellClick(Column: TColumn); и да първата колона не се мести...
продължавам ....



Супер, супер.... адски съм на кеф...
Поствам дословно майла му....
Hi
You can use the following code, but it has some strange side-effects !
type
TMyDBGrid = class(TDBGrid);
procedure TForm1.FormCreate(Sender: TObject);
begin
TMyDBGrid(DBGrid1).FixedCols := 2;
end;
..............................................
Zarko Gajic
About Guide to Delphi Programming
и ооо, Богове, наистина първата ми колонка "замръзна", когато скролвах от ляво на дясно... Супер....
с тази разлика, е TMyDBGrid(DBGrid1).FixedCols := 2; , го пльоснах в
TForm1.DBGrid2CellClick(Column: TColumn); и да първата колона не се мести...
продължавам ....
Супер, супер.... адски съм на кеф...
Редактирано от AйeзCeдaй на
Re: и пак за DBGRID ....
Сега като виждам какво ти е отговорил се сещам, че този подход е обяснен в книгите на Марко Канту (Mastering Delphi - аз имам книгата за Delphi5 и там го погледнах).
Ето това му е примера, но кой да се сети за него, а и Канту не препоръчва подобен подход - само в изключителни случаи.
Ако някой е свалял кодовете на програмите за Delphi 7, намира се в ..md7code\02\DBGridCol
unit dbcolform;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label1: TLabel;
procedure DBGrid1ColEnter(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
type
TFake = class (TDBGrid);
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
Label1.Caption := Format (
'Column: %2d; Row: %2d',
[TFake (DbGrid1).Col,
TFake (DbGrid1).Row]);
end;
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
DBGrid1ColEnter (sender);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Active := True;
end;
end.
Ето това му е примера, но кой да се сети за него, а и Канту не препоръчва подобен подход - само в изключителни случаи.
Ако някой е свалял кодовете на програмите за Delphi 7, намира се в ..md7code\02\DBGridCol
unit dbcolform;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, DB, DBTables;
type
TForm1 = class(TForm)
Table1: TTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
Label1: TLabel;
procedure DBGrid1ColEnter(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
type
TFake = class (TDBGrid);
procedure TForm1.DBGrid1ColEnter(Sender: TObject);
begin
Label1.Caption := Format (
'Column: %2d; Row: %2d',
[TFake (DbGrid1).Col,
TFake (DbGrid1).Row]);
end;
procedure TForm1.DataSource1DataChange(Sender: TObject; Field: TField);
begin
DBGrid1ColEnter (sender);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Table1.Active := True;
end;
end.
Re: и пак за DBGRID ....
Шъ трябва да си обновя книжките...
Аз идвам от Developer 6 на Oracle, преди това VB6, и книгите ми за делфи са доста кът....
Когато започнах нямах си и идея от Делфи, но с бързи скорости напредвам...


Аз идвам от Developer 6 на Oracle, преди това VB6, и книгите ми за делфи са доста кът....
Когато започнах нямах си и идея от Делфи, но с бързи скорости напредвам...