Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Вниз

DBGrid   Найти похожие ветки 

 
Teas   (2002-06-15 01:48) [0]

Подскажите, как в DBGrid выделять строку цветом при перемещении по таблице, с возможностью редактирования.


 
ilysha   (2002-06-15 11:53) [1]

http://www.gratis97.chat.ru/hobby/delphi/122600-1/txt122600-1.htm


 
Teas   (2002-06-17 23:57) [2]

Спасибо за ответ. Но содержимое сайта не помогло. У меня таблица имеет много столбцов. И, чтобы была видна текущая запись мне надо выделить всю строку целиком. То есть когда нажимаю клавишу Up or Down выделение строки должно переходить вместе с курсором.


 
Севостьянов Игорь   (2002-06-18 11:08) [3]

Выставь опцию для DBGrid
DBGrid.Options := DBGrid.Options + [dgRowSelect]


 
Lusha   (2002-06-18 11:10) [4]

Например так...


procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var aTitles : Integer;
begin
aTitles := 0;
if dgTitles in TDBGrid(Sender).Options then inc(aTitles);
with TMyDBGrid(Sender) do
if Datalink.ActiveRecord = Row - aTitles then
begin
Canvas.Brush.Color := clHighlight;
Canvas.FillRect(Rect);
Canvas.Font.Color := clHighlightText;
Canvas.TextRect(Rect, Rect.Left + 2, Rect.Top + 2, Column.Field.AsString);
end;
end;



здесь TMyDBGrid = class(TDBGrid)...


 
Севостьянов Игорь   (2002-06-18 11:10) [5]

А вообще я вот написал комплнент DGrid с выделением столбцов (Multi тоже присутствует) и посмотри RX - там в примерах есть

Все вопросы по мылу


 
fool   (2002-06-18 11:39) [6]

В зависимости от условий - выделяет разными цветами:
procedure TFrmMain.DBGrid3DrawDataCell(Sender: TObject;
const Rect: TRect; Field: TField; State: TGridDrawState);
begin
if QStreRoomDetail.FieldByName("Uses").AsBoolean then
begin
DBGrid3.Canvas.Brush.Color := clYellow;
DBGrid3.Canvas.Font.Color := clWindowText;
end else
if QStreRoomDetail.FieldByName("CurrentMass").AsFloat > 0 then
begin
DBGrid3.Canvas.Brush.Color := RGB(175,230,140);
DBGrid3.Canvas.Font.Color := clWindowText;
end else if not QStreRoomDetail.FieldByName("CurrentMass").AsFloat = 0 then
begin
DBGrid3.Canvas.Brush.Color := RGB(230,165,140);
DBGrid3.Canvas.Font.Color := clWindowText;
end;
DBGrid3.DefaultDrawDataCell(Rect, Field, State);
end;


 
fool   (2002-06-18 11:43) [7]

Извините, не совсем то что надо, только счас заметил, что выделить надо текущую запись :0(


 
Pavel_S   (2002-06-18 13:10) [8]

Насчет текущей записи -
Вот тебе часть кода, надеюсь разберешся

сначала укажи это вначале :
type
TCustomDBGridCracker = class(TCustomDBGrid);

затем в событии OnDrawColumnCell

if TCustomDBGridCracker(sender).DataLink.ActiveRecord = TCustomDBGridCracker(Sender).Row - 1 then
with TDBGrid(Sender).Canvas do
begin
Brush.Color:=clTeal;
Pen.Color:=clBlue;
font.Color:=clWhite;
end;

if gdSelected in state then
with TDBGrid(Sender).Canvas do
begin
Brush.Color:=$C8C800;
Pen.Color:=clBlue;
font.Color:=clWhite;
font.Style:=[fsBold];
TextOut(Rect.Left+2,Rect.Top+2,Column.Field.Text);
end;
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);


 
Teas   (2002-06-19 12:58) [9]

Спасибо всем.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.07.15;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.01 c
1-47425
VJar
2002-07-02 23:50
2002.07.15
Программная обработка ListBox


1-47521
mazepa
2002-06-27 19:00
2002.07.15
Как быстро сохранить инф. из s:string {H+} в file.txt


1-47473
Dmitry V. Averuanov
2002-07-01 12:52
2002.07.15
Нужно сделать рамку с ПЛАВНО ! меняющимся цветом


1-47406
Nicolay
2002-07-02 12:07
2002.07.15
Как вывести текст ?


1-47254
Александр
2002-06-29 11:48
2002.07.15
Ошибка при установке DPK





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский