Высота шапка dbgrid.
От: linker Россия  
Дата: 15.04.05 12:12
Оценка:
Как получить высоту шапки dbgrid.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re: Высота шапка dbgrid.
От: Softwarer http://softwarer.ru
Дата: 15.04.05 12:18
Оценка:
Здравствуйте, linker, Вы писали:

L>Как получить высоту шапки dbgrid.


RowHeights?
Re: Высота шапка dbgrid.
От: Danchik Украина  
Дата: 15.04.05 12:19
Оценка:
Здравствуйте, linker, Вы писали:

L>Как получить высоту шапки dbgrid.


Все относительно просто

type
  TDBGidAccess = class (TDBGrid);
......

  aHeaderHeight := TDBGidAccess (DBGrid1).RowHeights[0];
Re[2]: Высота шапка dbgrid.
От: linker Россия  
Дата: 15.04.05 13:17
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Здравствуйте, linker, Вы писали:


L>>Как получить высоту шапки dbgrid.


D>Все относительно просто


D>
D>type
D>  TDBGidAccess = class (TDBGrid);
D>......

D>  aHeaderHeight := TDBGidAccess (DBGrid1).RowHeights[0];
D>

Вот так считаю высоту grid'a,а потом задаю её для грида , но почему-то остается пустое место,хотя вроде не должно
hGridHeight:=(dbgridDetail.RowCount)*dbgridDetail.RowHeight+aHeaderHeight;
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[3]: Высота шапка dbgrid.
От: Danchik Украина  
Дата: 15.04.05 13:32
Оценка: 2 (1)
Здравствуйте, linker, Вы писали:

L>Вот так считаю высоту grid'a,а потом задаю её для грида , но почему-то остается пустое место,хотя вроде не должно

L>
L>hGridHeight:=(dbgridDetail.RowCount)*dbgridDetail.RowHeight+aHeaderHeight;
L>


Ну что же вы такие ленивые . Посмотри и сделай выводы:

type
  TDBGidAccess = class (TDBGrid);

function OptimalDBGridHeight (DBGrid : TDBGrid) : Integer;
var
  K : Integer;
  aGridHeight : Integer;
  aHeightDelta : Integer;
begin
  aGridHeight := 0;

  for K := 0 to TDBGidAccess (DBGrid).RowCount - 1 do
    aGridHeight := aGridHeight + TDBGidAccess (DBGrid).RowHeights[K];

  if dgRowLines in DBGrid.Options then
    aGridHeight := aGridHeight + TDBGidAccess (DBGrid).RowCount;

  with DBGrid.ClientRect do
    aHeightDelta := DBGrid.Height - (Bottom - Top);

  aGridHeight := aGridHeight + aHeightDelta;

  Result := aGridHeight;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  DBGrid1.Height := OptimalDBGridHeight (DBGrid1);
end;
Re[4]: Высота шапка dbgrid.
От: linker Россия  
Дата: 15.04.05 13:38
Оценка:
Здравствуйте, Danchik, Вы писали:

D>Здравствуйте, linker, Вы писали:


L>>Вот так считаю высоту grid'a,а потом задаю её для грида , но почему-то остается пустое место,хотя вроде не должно

L>>
L>>hGridHeight:=(dbgridDetail.RowCount)*dbgridDetail.RowHeight+aHeaderHeight;
L>>


D>Ну что же вы такие ленивые . Посмотри и сделай выводы:


D>
D>type
D>  TDBGidAccess = class (TDBGrid);

D>function OptimalDBGridHeight (DBGrid : TDBGrid) : Integer;
D>var
D>  K : Integer;
D>  aGridHeight : Integer;
D>  aHeightDelta : Integer;
D>begin
D>  aGridHeight := 0;

D>  for K := 0 to TDBGidAccess (DBGrid).RowCount - 1 do
D>    aGridHeight := aGridHeight + TDBGidAccess (DBGrid).RowHeights[K];

D>  if dgRowLines in DBGrid.Options then
D>    aGridHeight := aGridHeight + TDBGidAccess (DBGrid).RowCount;

D>  with DBGrid.ClientRect do
D>    aHeightDelta := DBGrid.Height - (Bottom - Top);

D>  aGridHeight := aGridHeight + aHeightDelta;

D>  Result := aGridHeight;
D>end;

D>procedure TForm1.Button1Click(Sender: TObject);
D>begin
D>  DBGrid1.Height := OptimalDBGridHeight (DBGrid1);
D>end;
D>

Спасибо большое,просто пятница вечер
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[5]: Высота шапка dbgrid.
От: Danchik Украина  
Дата: 15.04.05 13:47
Оценка:
Здравствуйте, linker, Вы писали:

L>Спасибо большое,просто пятница вечер


Ну да и я пиффо люблю.
Только вот в чем прикол: с DBGrid я вообще не работаю, сегодня посмотрел освежил память (ацтой компонента ). Просто глянул в исходники...
Если ты сам не научишся это делать, тебе ох как тяжело будет...

 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.