GUIBase: mejorado el cáculo de estilos para las tuplas del grid para ver si mejora el rendimiento del grid.

git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@730 0c75b7a4-871f-7646-8a2f-f78d34cc349f
This commit is contained in:
David Arranz 2008-11-05 10:42:15 +00:00
parent 344e568f73
commit 7a094c9d29
2 changed files with 34 additions and 23 deletions

View File

@ -24,6 +24,7 @@ inherited frViewGrid: TfrViewGrid
FilterBox.Visible = fvNever
DataController.DataSource = dsDataSource
DataController.Filter.Options = [fcoCaseInsensitive]
DataController.KeyFieldNames = 'RECID'
DataController.Options = [dcoAnsiSort, dcoCaseInsensitive, dcoAssignGroupingValues, dcoAssignMasterDetailKeys, dcoSaveExpanding, dcoSortByDisplayText]
DataController.Summary.DefaultGroupSummaryItems = <>
DataController.Summary.FooterSummaryItems = <>
@ -187,7 +188,7 @@ inherited frViewGrid: TfrViewGrid
PrinterPage.ScaleMode = smFit
PrinterPage._dxMeasurementUnits_ = 0
PrinterPage._dxLastMU_ = 2
ReportDocument.CreationDate = 39756.784993611110000000
ReportDocument.CreationDate = 39757.410444745370000000
StyleManager = dmBase.dxPrintStyleManager1
OptionsCards.Shadow.Depth = 0
OptionsExpanding.ExpandGroupRows = True

View File

@ -229,37 +229,47 @@ end;
procedure TfrViewGrid.cxGridViewStylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
var
AFiltrado : Boolean;
AOrdenado : Boolean;
AFilaPar : Boolean;
begin
inherited;
if Assigned(AItem) then
begin
if Odd(ARecord.Index) then
AStyle := cxStyle_NORMAL_PAR
else
AStyle := cxStyle_NORMAL_IMPAR;
AFilaPar := Odd(ARecord.Index);
AFiltrado := Filtered;
AOrdenado := AItem.SortOrder <> soNone;
if (AItem.SortOrder <> soNone) then
if AFilaPar then
begin
if Odd(ARecord.Index) then
AStyle := cxStyle_ORDENADO_PAR
else
AStyle := cxStyle_ORDENADO_IMPAR;
end;
if Filtered then
begin
if Odd(ARecord.Index) then
AStyle := cxStyle_FILTRADO_PAR
else
AStyle := cxStyle_FILTRADO_IMPAR;
if (AItem.SortOrder <> soNone) then
if AFiltrado then
begin
if Odd(ARecord.Index) then
if AOrdenado then
AStyle := cxStyle_FILTRADO_ORDENADO_PAR
else
AStyle := cxStyle_FILTRADO_ORDENADO_IMPAR;
end;
AStyle := cxStyle_FILTRADO_PAR
end
else // No filtrado
if AOrdenado then
AStyle := cxStyle_ORDENADO_PAR
else
AStyle := cxStyle_NORMAL_PAR
end
else begin
if AFiltrado then
begin
if AOrdenado then
AStyle := cxStyle_FILTRADO_ORDENADO_IMPAR
else
AStyle := cxStyle_FILTRADO_IMPAR
end
else // No filtrado
if AOrdenado then
AStyle := cxStyle_ORDENADO_IMPAR
else
AStyle := cxStyle_NORMAL_IMPAR
end;
end;
end;