![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблема с DBGrid [D7]
Barsky © (2006-01-12 16:42:00)Есть DBGrid. MultiSelect=False, RowSelect=True.
После заполнения и выравнивания получается что выделена (синей полосой) нижняя запись, а реально активна первая (треугольник в фикс. столбе на ней).
Как сделать что выделения совпали?
Johnmen (2006-01-13 14:59:00) [1]Здесь явно чего-то не хватает :)
Подробности можно найти здесь
http://delphikingdom.ru/asp/viewitem.asp?catalogid=168
Barsky (2006-01-13 14:44:00) [2]=)
Ткни плз пальцом
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (((Column.FieldName='F_Summ_dolg') or (Column.FieldName='F_Limit')) and (Column.Field.Text<>'')) then
begin
TDBGrid(Sender).Canvas.TextOut(rect.Right-2-TDBGrid(Sender).Canvas.TextWidth(Format('%n',[strtofloat(Column.Field.Text)] )),rect.Top+2,Format('%n',[strtofloat(Column.Field.Text)]));
if Column.Width<TDBGrid(Sender).Canvas.TextWidth(Format('%n',[strtofloat(Column.Field.Text)]))+4 then Column.Width:=TDBGrid(Sender).Canvas.TextWidth(Format('%n',[strtofloat(Column.Field.Text)]))+4;
end
else
if Column.Width<TDBGrid(Sender).Canvas.TextWidth(Column.Field.Text)+6 then Column.Width:=TDBGrid(Sender).Canvas.TextWidth(Column.Field.Text)+6;
end;
Johnmen (2006-01-13 14:33:00) [3]>Как сделать что выделения совпали?
Перестать косячить в OnDrawColumnCell
:)
Barsky (2006-01-13 14:26:00) [4]В OnDrawColumnCell ширену колонок изменяю, что бы текст влезал.
Уже неделю бьюсь. Ничего не выходит =(
Desdechado (2006-01-13 13:44:00) [5]что есть "выравнивание"?