SelectCells drawing issue


I'm using the following to implement a "Select All" function:

DBAdvGrid1.SelectCells(0,0,DBAdvGrid1.ColCount-1, DBAdvGrid1.RowCount-1);

But the contents of the cells are no longer visible.



Notice the only data visible is in the cell that was selected before the SelectCells operation was called.


For this to work, can you set DBAdvGrid.PageMode = false?

Hi Bruno,

Yes setting PageMode = FALSE has cured the problem.

My users have large datasets (1k fields x 10k rows) to display in read only --- is it best to have PageMode true or false?

I am new to DBAdvGrid as I am switching from DevEx grid,   My goal is speed up the display of large datasets.


For speed, PageMode = true is recommended.
For doing operations like filtering, grouping, sorting at grid level instead of dataset level, PageMode = false is recommended.

Thank you Bruno.


I have a smiliar issue with TAdvStringGrid. Sometimes the whole grid turns into blue or any other color (mostly something like clSkyBlue) after the user selected another row or scrolled the grid by the mouse wheel.

A property PageMode cannot be found ;-)
Any alternative settings to avoid this?

Thanks in advance
Alfons Glamacher

PageMode is specific to TDBAdvGrid.

I have no idea what is causing this "turn into blue", please provide your grid settings and exact steps to reproduce this.

Thank you for your answer.

As I stated normally it works ok. The grid is populated at runtime with a few (about 20 to 50) items. Checkboxes are added in each row as well as icons for file entries. About 15 Columns, 4 or 5 of them with ColumnWidths[x] = 0 to hide specific information needed for further actions. As far as I can see nothing special. OnClick and OnDblClick events are assigned to the grid.

Normally I can click on a row to change the selection and everythiong´s fine. I can use the scrollbar, also ok. But sometimes, as clients reported to me, then contents of all the cell vanishes and the color of the whole grid changes to (mostly) light blue when they click on the component or use the mouse wheel. After this when they click on a row the contents of this row can be seen again. The rest remains - let´s say - highlighted ;-) It seems to be a drawing problem (?)

I forgot to mention my Configuration: Win7 Pro, Delphi XE2, Grid version

Here are the settings of the grid:

      object StringGridKomm: TAdvStringGrid
        AlignWithMargins = True
        Left = 3
        Top = 46
        Width = 653
        Height = 642
        Cursor = crDefault
        Hint =
          'Doppelklicken un das Dokument zu '#246'ffnen, rechte Maustaste um es ' +
          'umzubenennen oder Optionen aufzurufen'
        Align = alClient
        ColCount = 12
        DefaultRowHeight = 24
        DrawingStyle = gdsClassic
        FixedCols = 0
        Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goColSizing, goEditing, goRowSelect]
        ParentShowHint = False
        PopupMenu = AdvPopupMenu1
        ScrollBars = ssBoth
        ShowHint = True
        TabOrder = 0
        OnMouseDown = StringGridKommMouseDown
        OnMouseMove = StringGridKommMouseMove
        HoverRowCells = [hcNormal, hcSelected]
        OnCanEditCell = StringGridKommCanEditCell
        OnCheckBoxClick = StringGridKommCheckBoxClick
        OnResize = StringGridKommResize
        ActiveCellFont.Charset = DEFAULT_CHARSET
        ActiveCellFont.Color = clWindowText
        ActiveCellFont.Height = -11
        ActiveCellFont.Name = 'Tahoma'
        ActiveCellFont.Style = [fsBold]
        ControlLook.FixedGradientHoverFrom = clGray
        ControlLook.FixedGradientHoverTo = clWhite
        ControlLook.FixedGradientDownFrom = clGray
        ControlLook.FixedGradientDownTo = clSilver
        ControlLook.DropDownHeader.Font.Charset = DEFAULT_CHARSET
        ControlLook.DropDownHeader.Font.Color = clWindowText
        ControlLook.DropDownHeader.Font.Height = -11
        ControlLook.DropDownHeader.Font.Name = 'Tahoma'
        ControlLook.DropDownHeader.Font.Style = []
        ControlLook.DropDownHeader.Visible = True
        ControlLook.DropDownHeader.Buttons = <>
        ControlLook.DropDownFooter.Font.Charset = DEFAULT_CHARSET
        ControlLook.DropDownFooter.Font.Color = clWindowText
        ControlLook.DropDownFooter.Font.Height = -11
        ControlLook.DropDownFooter.Font.Name = 'Tahoma'
        ControlLook.DropDownFooter.Font.Style = []
        ControlLook.DropDownFooter.Visible = True
        ControlLook.DropDownFooter.Buttons = <>
        Filter = <>
        FilterDropDown.Font.Charset = DEFAULT_CHARSET
        FilterDropDown.Font.Color = clWindowText
        FilterDropDown.Font.Height = -11
        FilterDropDown.Font.Name = 'Tahoma'
        FilterDropDown.Font.Style = []
        FilterDropDownClear = '(All)'
        FixedRowHeight = 24
        FixedRowAlways = True
        FixedFont.Charset = DEFAULT_CHARSET
        FixedFont.Color = clWindowText
        FixedFont.Height = -11
        FixedFont.Name = 'Tahoma'
        FixedFont.Style = [fsBold]
        FloatFormat = '%.2f'
        PrintSettings.DateFormat = 'dd/mm/yyyy'
        PrintSettings.Font.Charset = DEFAULT_CHARSET
        PrintSettings.Font.Color = clWindowText
        PrintSettings.Font.Height = -11
        PrintSettings.Font.Name = 'Tahoma'
        PrintSettings.Font.Style = []
        PrintSettings.FixedFont.Charset = DEFAULT_CHARSET
        PrintSettings.FixedFont.Color = clWindowText
        PrintSettings.FixedFont.Height = -11
        PrintSettings.FixedFont.Name = 'Tahoma'
        PrintSettings.FixedFont.Style = []
        PrintSettings.HeaderFont.Charset = DEFAULT_CHARSET
        PrintSettings.HeaderFont.Color = clWindowText
        PrintSettings.HeaderFont.Height = -11
        PrintSettings.HeaderFont.Name = 'Tahoma'
        PrintSettings.HeaderFont.Style = []
        PrintSettings.FooterFont.Charset = DEFAULT_CHARSET
        PrintSettings.FooterFont.Color = clWindowText
        PrintSettings.FooterFont.Height = -11
        PrintSettings.FooterFont.Name = 'Tahoma'
        PrintSettings.FooterFont.Style = []
        PrintSettings.PageNumSep = '/'
        SearchFooter.FindNextCaption = 'Find &next'
        SearchFooter.FindPrevCaption = 'Find &previous'
        SearchFooter.Font.Charset = DEFAULT_CHARSET
        SearchFooter.Font.Color = clWindowText
        SearchFooter.Font.Height = -11
        SearchFooter.Font.Name = 'Tahoma'
        SearchFooter.Font.Style = []
        SearchFooter.HighLightCaption = 'Highlight'
        SearchFooter.HintClose = 'Close'
        SearchFooter.HintFindNext = 'Find next occurrence'
        SearchFooter.HintFindPrev = 'Find previous occurrence'
        SearchFooter.HintHighlight = 'Highlight occurrences'
        SearchFooter.MatchCaseCaption = 'Match case'
        SelectionColor = clSilver
        SelectionColorMixer = True
        Version = ''

Well, first of all, this is already a quite old version of the component. I have tested your settings here with the latest version of the grid and I could not see any issue. I would suggest to test this first with the latest version. We are not aware of such issues with the latest version, so, most likely, if this was an issue in this old version, this was already fixed.

Thank you for your answer. Hmm, I'll think about it. Is there an upgrade offer?

I see you have an active license, so you can just download the latest version from the 'My products' page.