Sunday, June 2, 2013

XE4 dbGrid Still Buggy - Please Vote Up QC 98255

This weekend I installed XE4 Enterprise on my new (well new to me) Windows 7 machine. I ran the Getting Started sample project that comes with FireDAC and the first thing I did was click the column heading in the dbGrid and guess what . . . it still has that annoying "black left edge" bug I reported a couple years ago.

My request has gotten no votes. Please go to EMBT's Quality Central and vote up QC 98255.

http://qc.embarcadero.com/wc/qcmain.aspx?d=98255


Black Left Edge Appears When Clicking Column Heading

I don't think I'm being nit-picky about this annoying behavior. When I use programs that display data in a grid, my expectation is to be able to sort the data by clicking on the column heading. I want to build the same functionality into my grids.

I hate this black line that shows up when you click a dbGrid column heading. In my mind it's very unattractive and looks extremely unprofessional.

For the amount of money we pay EMBT for Delphi you would think they would fix this bug. You would think EMBT would want to put their best foot forward and give us die-hard Delphi users, an out of the box dbGrid worthy of the Delphi name.

Go vote for QC 98255 so this damn thing gets fixed.

Semper Fi
Gunny Mike

Update 06/04/2013 6:50 PM:

It turns out that the black line is intended functionality. It is used to indicate the new location where a column is being moved to. I wish that the black line would only show up when the column heading is being dragged and not just being click.

Update 09/22/2013 11:03AM:

The following was posted on the EMBT QC site:

----------
Clinton Johnson at 6/2/2013 8:11:38 AM -
Also, as a work around, he can disable column moving by creating a proxy class to access TCustomGrid's protected items and removing goColMoving from it's Options property with code like:

Type
  TMyCustomGrid=Class(TCustomGrid)
And placing
  TMyCustomGrid(DBGrid1).Options := TMyCustomGrid(DBGrid1).Options-[goColMoving];

in the onFormCreate and after anywhere he modifies the grid's options.  Changing DBGrid1 for each unique instance, obviously.
----------

This work-a-round works perfectly fine for me since I do not need the ability to move columns around. Just wanted to pass this on.