Главная страница
    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.012 c
1-47417
mazepa
2002-07-01 19:42
2002.07.15
Max Size Dynamic Array


3-47200
Fiend
2002-06-19 17:24
2002.07.15
TADODataset XML TMemoryStream


1-47543
Dmk
2002-06-26 23:22
2002.07.15
ScrollBar


1-47541
sector
2002-06-27 22:23
2002.07.15
помогите ответом


1-47510
Wolverin
2002-06-27 16:17
2002.07.15
ToolBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский