Delphi XE3 Professional + TAdvStringGrid 7.4.6.4
After upgrading to the latest TMS Component Pack using the Subscription Manager,
AutoSizeRow and AutoSizeRows does not work anymore in my application.
This is very annoying and all the users (more than 130) are complaining because they
can't see all the text. Since there were no response in my previous post, I decided to post
a new topic with some screenshots and a better description.
This is from version 7.4.4.2, everything is ok, AutoSizeRows are working:s in my previous post, I
This is from 7.4.6.4, AutoSizeRows are not working:
I cannot see an issue here with the latest TAdvStringGrid with default settings.
When using:
What are you doing different from this? What are your full grid settings? Do you have grid.WordWrap = true?
Yes, wordwrap is set, here's the grid:
object strHend: TAdvStringGrid
Tag = 2
Left = 1
Top = 26
Width = 664
Height = 366
Cursor = crDefault
TabStop = False
Anchors = [akLeft, akTop, akRight, akBottom]
ColCount = 6
DefaultColWidth = 45
DefaultRowHeight = 18
DrawingStyle = gdsClassic
FixedCols = 0
RowCount = 2
Font.Charset = DEFAULT_CHARSET
Font.Color = clBlack
Font.Height = -11
Font.Name = 'Tahoma'
Font.Style = []
Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRowSizing, goColSizing, goThumbTracking]
ParentFont = False
ScrollBars = ssBoth
TabOrder = 2
OnClick = strHendClick
HoverRowCells = [hcNormal, hcSelected]
OnGetCellColor = strHendGetCellColor
OnGetAlignment = strHendGetAlignment
OnCanEditCell = strHendCanEditCell
OnCheckBoxMouseUp = strHendCheckBoxMouseUp
OnEditCellDone = strHendEditCellDone
HintShowCells = True
ActiveCellFont.Charset = DEFAULT_CHARSET
ActiveCellFont.Color = clWindowText
ActiveCellFont.Height = -11
ActiveCellFont.Name = 'Tahoma'
ActiveCellFont.Style = [fsBold]
ActiveCellColor = 15387318
AutoNumAlign = True
CellNode.NodeType = cnFlat
CellNode.TreeColor = clSilver
ColumnHeaders.Strings = (
''
'Hendelser'
'Utf'#248'rt'
'Merknad')
ControlLook.FixedGradientFrom = clWhite
ControlLook.FixedGradientTo = clSilver
ControlLook.FixedGradientHoverFrom = 13619409
ControlLook.FixedGradientHoverTo = 12502728
ControlLook.FixedGradientHoverMirrorFrom = 12502728
ControlLook.FixedGradientHoverMirrorTo = 11254975
ControlLook.FixedGradientDownFrom = 8816520
ControlLook.FixedGradientDownTo = 7568510
ControlLook.FixedGradientDownMirrorFrom = 7568510
ControlLook.FixedGradientDownMirrorTo = 6452086
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 = <>
EnhRowColMove = False
Filter = <>
FilterDropDown.Font.Charset = DEFAULT_CHARSET
FilterDropDown.Font.Color = clWindowText
FilterDropDown.Font.Height = -11
FilterDropDown.Font.Name = 'Tahoma'
FilterDropDown.Font.Style = []
FilterDropDownClear = '(All)'
FilterEdit.TypeNames.Strings = (
'Starts with'
'Ends with'
'Contains'
'Not contains'
'Equal'
'Not equal'
'Clear')
FixedFooters = 1
FixedColWidth = 26
FixedRowHeight = 18
FixedFont.Charset = DEFAULT_CHARSET
FixedFont.Color = clWindowText
FixedFont.Height = -11
FixedFont.Name = 'Tahoma'
FixedFont.Style = []
FloatFormat = '%.2f'
FloatingFooter.Visible = True
HoverButtons.Buttons = <>
HoverButtons.Position = hbLeftFromColumnLeft
Look = glTMS
LookupItems.Strings = (
'Test'
'Test2')
Lookup = True
Navigation.AllowInsertRow = True
Navigation.AlwaysEdit = True
Navigation.AutoGotoWhenSorted = True
Navigation.InsertPosition = pInsertAfter
PrintSettings.FooterSize = 26
PrintSettings.HeaderSize = 51
PrintSettings.Time = ppBottomCenter
PrintSettings.Date = ppBottomCenter
PrintSettings.DateFormat = 'dd.mm.yyyy'
PrintSettings.PageNr = ppBottomCenter
PrintSettings.Title = ppTopCenter
PrintSettings.TitleLines.Strings = (
'')
PrintSettings.Font.Charset = ANSI_CHARSET
PrintSettings.Font.Color = clWindowText
PrintSettings.Font.Height = -11
PrintSettings.Font.Name = 'Arial'
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 = ANSI_CHARSET
PrintSettings.HeaderFont.Color = clWindowText
PrintSettings.HeaderFont.Height = -16
PrintSettings.HeaderFont.Name = 'Arial'
PrintSettings.HeaderFont.Style = [fsBold]
PrintSettings.FooterFont.Charset = ANSI_CHARSET
PrintSettings.FooterFont.Color = clWindowText
PrintSettings.FooterFont.Height = -13
PrintSettings.FooterFont.Name = 'Arial'
PrintSettings.FooterFont.Style = []
PrintSettings.RepeatFixedRows = True
PrintSettings.RepeatFixedCols = True
PrintSettings.LeftSize = 28
PrintSettings.RightSize = 34
PrintSettings.ColumnSpacing = 5
PrintSettings.RowSpacing = 2
PrintSettings.TitleSpacing = 26
PrintSettings.Orientation = poLandscape
PrintSettings.FitToPage = fpShrink
PrintSettings.PageNumSep = ' av '
PrintSettings.NoAutoSizeRow = True
PrintSettings.PrintGraphics = True
ScrollWidth = 14
SearchFooter.ColorTo = 15790320
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 occurence'
SearchFooter.HintFindPrev = 'Find previous occurence'
SearchFooter.HintHighlight = 'Highlight occurences'
SearchFooter.MatchCaseCaption = 'Match case'
ShowSelection = False
SortSettings.DefaultFormat = ssAutomatic
SortSettings.Show = True
URLShow = True
Version = '7.4.6.4'
ColWidths = (
26
357
37
215
20
20)
end
Here's the code to fill the grid, please note that the grid has hidden rows.
First this piece of code is executed:
procedure FiltrerSjekkliste(AGrid : TAdvStringGrid;AFilter : Integer);
var
i : Integer;
const
C : array[1..7] of Integer=(1,6,7,8,9,11,15);
begin
AGrid.UnHideRowsAll;
if AFilter=2 then
for i := High(c) downto Low(c) do
AGrid.HideRow(c);
AGrid.AutoNumberCol(0);
end;
Then I fill the grid, AutosizeRow is used here, but as you can see, I have tried AutoSizeRows also.
This code worked very well until the update of the TAdvStringGrid.
procedure FyllHendelserOppdrag(ASaksnummer,AOppdrag : Integer;AGrid : TAdvStringGrid;AType : THendelseslistetype);
var
A : TADOQuery;
i,iRow : Integer;
iOffset : Integer;
iRecs : Integer;
begin
TomGridHendelser(AGrid,AType);
if (ASaksnummer=0) or (AOppdrag=0) then Exit;
AGrid.ControlLook.CheckAlwaysActive := True;
A := GetAdoQuery;
A.SQL.Text := SP_EXECKONT + Format('sjekklisteoppdrag %d,%d,0,%d',[ASaksnummer,AOppdrag,Ord(AType)]);
iOffset := 4;
if AType in [htMappeKontroll,htKontrollKontrakt] then inc(iOffset); //htKontrollKontrakt
try
A.Open;
iRecs := A.RecordCount;
AGrid.WordWrap := True; // TO MAKE SURE WORDWRAP IS SET
if iRecs> 0 then
for i := 1 to AGrid.RowCount-2 do
begin
A.Filter := Format('PunktId=%d',[AGrid.Ints[iOffset,i]]);
A.Filtered := True;
if A.RecordCount>0 then
begin
iRow := AGrid.RealRowIndex(i);
AGrid.SetCheckBoxState(2,iRow,A.FieldByName(DBF_AVKRYSSET).AsBoolean);
if (iOffset=5) then
begin
if A.RecNo<iRecs then
if not A.FieldByName(DBF_AVKRYSSET).AsBoolean then AGrid.SetCheckBoxState(3,iRow,True)
else AGrid.Ints[iOffset+1,i] := 100;
end;
AGrid.Cells[iOffset-1,i] := A.FieldByName('Kommentar').AsString;
AGrid.AutoSizeRow(i); // NOT WORKING
end;
end;
//AGrid.AutoSizeRows(true, 1); for testing, not working
finally
FreeAndNil(A);
end;
end;
Not sure why this is called a support forum, not much support here.
I've been using Delphi since February 1995, I'm not exactly a novice.
- maybe look at ALL forum entries and their responses to see how our typical reactivity is2) at this very moment, it is weekend, the time that some hard working people deserve a break3) we received a similar problem report that we already worked on, communicated via email with the user, sent a test version to get more info and just got feedback a couple of hours ago that a fix seemed to have helped, so this fix, when having undergone more testing will be included in the next scheduled release of Nov 13.
I have 130 users who's not able to read their reports because of this bug. It doesn't make me very popular when I try to explain that I have contacted the vendor, but it will take some time before it's fixed.I did not post this is on a weekend, I posed it on a wednesday, and I even posted one on Tuesday with no response at all.
- I don't see unanswered posts from you in this group. I see several answers from my colleagues trying to help you2) Please inform what we can do more than a) investigate the problem b) search for a fix c) test the fix d) release an update?