diff --git a/utile/GridExtras/gridextras.vc2 b/utile/GridExtras/gridextras.vc2 index 1d28263..e4e1f40 100644 --- a/utile/GridExtras/gridextras.vc2 +++ b/utile/GridExtras/gridextras.vc2 @@ -2434,7 +2434,7 @@ DEFINE CLASS gridutils AS form PROCEDURE copytoexcel *!* LPARAMETERS tcXLSFile, tcSheet, tvWorkArea, tcExcelFieldList, tcTableFieldList, tcTableForExpr #DEFINE ALPHANUMERICCHR "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz1234567890" - LOCAL lnCounter, loColumn, lcXLSFile, lcSheetName, lcAliasWas, lcGridAlias, ; + LOCAL lnCounter, lnOrder, laOrder, loColumn, lcXLSFile, lcSheetName, lcAliasWas, lcGridAlias, ; lcExcelFieldList, lcTableFieldList, lcTableForExpression, loHeaderObject, ; lcFileName, lcAction, lcPath, loExcelApp, loWorkBook, lcKeyName m.lcXLSFile = "C:\" + SYS(2015) + ".xls" @@ -2445,8 +2445,15 @@ DEFINE CLASS gridutils AS form *!* m.lcTableForExpression = FILTER(this.gridobject.recordsource) m.lcSheetName = "Sheet1" STORE "" TO m.lcExcelFieldList, m.lcTableFieldList + *!* coloanele se exporta in ordinea de afisare din grid (ColumnOrder), nu in ordinea de creare + DIMENSION laOrder[MAX(THIS.gridobject.COLUMNCOUNT, 1), 2] FOR m.lnCounter = 1 TO THIS.gridobject.COLUMNCOUNT - m.loColumn = THIS.gridobject.COLUMNS(m.lnCounter) + laOrder[m.lnCounter, 1] = THIS.gridobject.COLUMNS(m.lnCounter).COLUMNORDER + laOrder[m.lnCounter, 2] = m.lnCounter + ENDFOR + =ASORT(laOrder) + FOR m.lnOrder = 1 TO THIS.gridobject.COLUMNCOUNT + m.loColumn = THIS.gridobject.COLUMNS(laOrder[m.lnOrder, 2]) IF m.loColumn.VISIBLE AND m.loColumn.WIDTH > 0 m.loHeaderObject = m.loColumn.CONTROLS(1) m.lcExcelFieldList = m.lcExcelFieldList + IIF(!EMPTY(m.lcExcelFieldList), ',', '') ;