diff --git a/Source/GUIBase/uViewGrid.dfm b/Source/GUIBase/uViewGrid.dfm index 3fa7eea8..2f8a591e 100644 --- a/Source/GUIBase/uViewGrid.dfm +++ b/Source/GUIBase/uViewGrid.dfm @@ -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 diff --git a/Source/GUIBase/uViewGrid.pas b/Source/GUIBase/uViewGrid.pas index 3896e4b0..c3e8e031 100644 --- a/Source/GUIBase/uViewGrid.pas +++ b/Source/GUIBase/uViewGrid.pas @@ -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;