Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
Внизперерисовка грида Найти похожие ветки
← →
Sergio (2004-12-17 16:43) [0]Доброго всем времени суток.
У меня такая проблема:
есть у меня Query1, с ним завязан DataSource1 - и естественно BDGrid. При выполнении перерисовки грида я использую следующее:
procedure TfMain.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
IF TDBGrid(Sender).DataSource.DataSet.RecNo mod 2 = 1 Then begin
TDBGrid(Sender).Canvas.Brush.Color:=RGB($CC,$CC,$99);
TDBGrid(Sender).Canvas.Font.Color:=clBlack;
end else begin
TDBGrid(Sender).Canvas.Brush.Color:=clGreen;
TDBGrid(Sender).Canvas.Font.Color:=clWhite;
end;
IF gdSelected IN State
Then Begin
TDBGrid(Sender).Canvas.Brush.Color:= clHighLight;
TDBGrid(Sender).Canvas.Font.Color := clHighLightText;
End;
TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
end;
Но при этом, у меня TDBGrid(Sender).DataSource.DataSet.RecNo постоянно равняется -1 и поэтому все закрашивает одним цветом - как мне исправить данный баг?
← →
Соловьев © (2004-12-17 16:50) [1]http://www.delphikingdom.com/asp/viewitem.asp?catalogid=170
← →
kaktus (2004-12-17 16:55) [2]Я уже там был, этот фрагмент как раз оттуда. Там в качестве источника используется TTable, а у меня TQuery и кроме того который генерится динамически.
← →
Vemer © (2004-12-17 16:58) [3]Попробуй пропиши .FetchAll например в OnOpen ДатаСет:а.
← →
Rule © (2004-12-17 17:02) [4]а какая база используется и копмоеннты доступа ?
← →
Rule © (2004-12-17 17:04) [5]если серверная, то
http://delphimaster.net/view/3-1102603978/
← →
kaktus (2004-12-17 17:09) [6]Не получилось!
procedure TfMain.qNwsprAfterOpen(DataSet: TDataSet);
begin
qNwspr.FetchAll;
end;
end.
← →
kaktus (2004-12-17 17:11) [7]>а какая база используется и копмоеннты доступа
Access
← →
Соловьев © (2004-12-17 17:12) [8]2 kaktus (17.12.04 16:55) [2]
не ври. небыл ты там.
← →
kaktus (2004-12-17 17:25) [9]>не ври. небыл ты там.
unit DbGridColor;
//----------------------------------------------------------------------------------------
//
// Пример по теме " Р А З Н О Ц В Е Т Н Ы Й DBGrid "
//
//
// Проект, реализующий некоторые возможности по "раскраске" компонента TDBGrid.
// Проект составлен исключительно из учебных целей для публикации
// на сервере "Королевство Дельфи" и самостоятельной ценности не несет.
// Все решения, представленные в этом примере, могут быть использованы в своих проектах
// без каких-либо ограничений.
// При публикации материалов необходима ссылка на источник информации
//
//
// Специально для Королевства Дельфи http://delphi.vitpc.com
//
//
// автор: Елена Филиппова vlelenaf@cityline.ru , 11 апреля 2000 г.
//
//
// Используется алиас DBDEMOS , таблица LifeBio.db
//----------------------------------------------------------------------------------------
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, Grids, DBGrids, DBTables, ComCtrls, ExtCtrls, DBCtrls, StdCtrls,
ImgList, Provider, DBClient;
type
TformColorGrid = class(TForm)
DataSource1: TDataSource;
Panel1: TPanel;
TableBio: TTable;
cbLine: TCheckBox;
StatusBar: TStatusBar;
TableBioSpeciesNo: TFloatField;
TableBioCategory: TStringField;
TableBioSpeciesName: TStringField;
TableBioNotes: TMemoField;
TableBioGraphic: TGraphicField;
ImageList: TImageList;
cbTypeSelect: TCheckBox;
TableBioCheck: TIntegerField;
CheckLarge: TCheckBox;
DBGrid: TDBGrid;
TableBioLengthcm: TFloatField;
procedure DBGridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure FormCreate(Sender: TObject);
procedure DBGridCellClick(Column: TColumn);
procedure cbLineClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TableBioLengthcmGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure TableBioGraphicGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
private
{ Private declarations }
ListSelect : TList;
Procedure ShowStatusBar;
procedure WMGetMinMaxInfo(var Message : TMessage); message WM_GETMINMAXINFO;
public
{ Public declarations }
end;
var
formColorGrid: TformColorGrid;
implementation
{$R *.DFM}
Type
TColumnAction = (caNotes, caGraphic, caCheck , caLength, caNone);
Const
ColumnName : array[TColumnAction] of String = ("Notes" ,"Graphic", "Check" , "Length (cm)", "" );
//----------------------------------------------------------------------------------------
Function GetColumnAction( Value : String ): TColumnAction;
Var i : TColumnAction;
Begin
Result:=caNone;
FOR i:=Low(TColumnAction) TO High(TColumnAction) DO
IF CompareText(Value , ColumnName[i]) = 0 Then Result:=i;
End;
//----------------------------------------------------------------------------------------
// ограничение на изменение размера фориы
//----------------------------------------------------------------------------------------
Procedure TformColorGrid.WMGetMinMaxInfo(var Message : TMessage);
type
PTMinMaxInfo = ^TMinMaxInfo;
begin
with PTMinMaxInfo(Message.LParam)^.ptMinTrackSize
do begin
x := 450;
y := 300;
end;
inherited;
end;
//----------------------------------------------------------------------------------------
....
end;
....
← →
Соловьев © (2004-12-17 17:29) [10]Ты ссылку нажимал?
← →
kaktus (2004-12-17 17:37) [11]>Ты ссылку нажимал?
Не вижу здесь ничего полезного по моему вопросу.(Читай внимательно).
← →
Соловьев © (2004-12-17 17:50) [12]Но при этом, у меня TDBGrid(Sender).DataSource.DataSet.RecNo постоянно равняется -1 и поэтому все закрашивает одним цветом - как мне исправить данный баг?
Твой вопрос? Так вот пойдя по той ссылке ты решишь свою траблу. Ты можешь и не идти. Но проблему свою не решишь.
← →
kaktus (2004-12-17 18:18) [13]> Так вот пойдя по той ссылке ты решишь свою траблу
Я не могу ничего найти, вот если ты там точно был, то мог бы мне и подсказать - если я тебя этим не напрягу.
← →
Соловьев © (2004-12-17 18:35) [14]Я не могу ничего найти
Извини, но читать я тебя не научу...
Тебе, что влом скопировать там код и попробовать?
← →
Rule © (2004-12-17 19:07) [15]Соловьев © (17.12.04 18:35) [14]
помоему медецина бессильна :), Саша, не напрягайся зря :)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.043 c