TreeGrid changes log +: New or extended feature C: Changed feature !: Incompatible change B: Corrected bug 17.2 +: Added FormulaOrder to choose order of calculating data and editable formulas B: With FormulaChanges the changes of editable formula to the same value did not set the cell changed +: Added TGAddCustomRangeFunction global function to register custom function for editable formula with range parameter B: Using FormulaColorRanges with non html Type caused incorrect input validation B: Entering empty value to EHtml type could set "
" as the value +: Added value 7 to row CanExport to export row without its children B: JS error could be thrown if set DynamicBorder and rows were filtered B: JS error could be thrown if Enum closed by clicking to another cell and DynamicStyle was set B: Using FormulaColorRanges restricted entering space in string in formula B: Mouse with FormulaColorRanges and Cfg Hover cleared the colored range by hovering. Disabled mouse hover on editing formula with FormulaColorRanges=1, added value 2 for previous behavior. +: Added value 7 to row CanExport to export row without children (used for master detail) +: To JSON menu added caption "-!" or attribute NextColumn to split menu to more columns on this place +: Added grid Disabled variable set 1 on disabled grid or 2 on grid in fatal error state 17.1.3 B: Focused rows were not outdented / indented if focusing ranges was not permitted B: ClearError in Validate showed false warning B: Parent="" in adding changes was ignored B: Tree lines were not updated after some row changes 17.1.2 B: FilterReplaceOne and FilterReplaceMore wildcards could be present only once in the filter string B: SetGanttRunBox could not set Milestone and Stop to Empty or Nbsp box B: TextColor attribute could not be calculated by Formula in column 17.1 +: Updated to work with FastGrid B: GanttBackground / GanttExclude units "y" could be incorrectly increased / decreased due 29.2. B: Checkboxes could be printed with incorrect value B: Xlsx with some tint values could not be imported B: Adding run box to empty run did not work in some cases B: RTL version did not work on some Android systems C: Column positions on column paging can be saved to cookies when explicitly set Cfg ColsPosLap = 0 B: Gantt run could freeze when used GanttRunError "sort" or "merge" with some fixed run boxes B: Uploaded SortCols / SortTypes removed "-" from the column names B: Drag ghost object could change window size and cause updating grid during dragging B: DragGanttRunByMouse did not work on touch screens B: Setting date with time by calendar dialog could work incorrectly B: Grid disable tag could be incorrectly positioned in some layouts +: Added attributes ScrollParentHorz and ScrollParentVert to permit setting different scroll parent for vertical and horizontal scrolling B: SpreadSheet sometimes did not clear empty auto page in grid with spanned cells C: TouchClearFocused does not clear focus when dialog is shown +: Added ChangeWinScrollType attribute to control direction of ChangeWinScroll B: Rtl version did not work on some mobile phones, e.g. on Samsung Galaxy S22+ Ultra B: Grid sometimes scrolled whole page up / left in some layouts especially on touch screens B: Width of RelWidth space group cells could be incorrectly calculated B: Dialog could be displayed with unexpected horizontal scrollbar on tablet !: Added attribute Cfg OverScroll to restrict / permit overscrolling behavior. Default is 0 as restricted (versions prior to 17.1. always permitted the overscrolling) B: Min/MaxTagHeight/Width attributes could not be set by Media B: Grid could scroll left when focusing right or left columns in HScroll=1 mode 17.0.4 B: Calendar did not show in RTL B: Hint was shown for many cells in RTL with DynamicBorder 17.0 +: TreeGrid code was rewritten to avoid CSP unsafe-inline directive. (unsafe-eval is still required, because code evaluation is the most powerful JavaScript feature) +: TreeGrid can be run in third party systems like SalesForce LWC +: Added Cfg DialogsArea to specify Area for all grid dialogs at once +: Added global variables Grids.ControlsTag and Grids.HeadTag to specify parent tags where TreeGrid dialogs and support tags will be placed, if they cannot be placed to / tags. +: Added global callback Grids.QuerySelector to be used when document.getElementById is inaccessible, usually when TreeGrid is placed under shadow DOM. +: vlookup accepts now as the first argument the whole column and choose the cell from the same row +: Added PasteNumbers to convert formatted numbers to numbers when pasting from Excel B: Increasing FormulaMaxIterations caused ignoring simple circular references like reference to the same cell. B: Tooltip was shown and hidden under mouse during changing focus by keys when vertical pager was visible B: SpreadSheet only component without TreeGrid could incorrectly delete or hide rows B: Defaults list of dates did not correctly display Range values B: Scrollbar size could be incorrectly set when page zoom changed B: Moving last run box in row could throw JS error in some cases B: FilterHidden could break grid layout after hide and show the column B: Side button could not be accessed during editing in some cases B: PasteFocused = 9,10 added the next rows to root instead of the same parent +: Selecting date range in calendar is supported also on touch screens B: Selecting date ranges in calendar more times could lead in incorrect results B: Undo more row to another level could throw JS error +: Updated CSS/GanttCSS/DialogCSS to permit full url or to not load the CSS +: Added support for mouse on tablet. To disable it set global variable NoTabletMouse = 1. B: FilterDef value could be cleared on clearing filter operator B: PrintVarHeight did not work correctly for spanned cells printed to more horizontal pages 16.5.4 B: Expanded children or added rows were not visible after upgrading Chrome to 121+, when there was horizontal scrollbar but not vertical scrollbar in grid B: MaxChildren pages were not created in server paging in pages passed in Body response 16.5 +: Editable formula now supports choosing source cells by dragging also in other sheets B: Coloring cell ranges during formula editing ignored sheet! prefix. B: Switching between sheets with formulas referencing other sheets could increase Grids.length B: Edited cell with editable formula was not update when started editing in ExternalEdit +: After moving cell range, the editable formulas outside the range referring these cells are updated like in MS Excel !: DateStrings=1 now always uploads dates in format "M/d/yyyy". Before, since 12.0, the format was related to BaseSeparators and DateSeparator settings. B: GanttBackground in fixed rows could be hidden in some cases C: Editable formula function round() changed to round negative number in Excel way instead of JavaScript way. To preserve the old behavior set Cfg RoundJavaScript = 1 B: RoundNumbers could incorrectly round negative numbers B: Column widths could be resized on Reload if style Size was not set to Normal B: Searching could freeze when searching too many items +: Added parameters lines and acceptenters to Prompt method to prompt multiline text B: Date picker was shown for every cell on Ctrl+Arrow down B: Click to row in edit mode when the edit cell was scrolled out could focus incorrect cell B: Exporting html code containing tags all with the same attribute value (e.g. color) removed this attribute if Style module was not linked (without Sheet component) B: GanttPaging could render incorrectly the first page on re-render, e.g. on page zoom other than 100% in Chrome B: If xlsx had not set all column indexes, it was imported incorrectly B: Levels icons were not correctly shown on start when grouped rows with children B: Export to xlsx failed if Link attribute contained number B: Edit height could not been updated on multiline editing B: In large slow grid could be columns in row sections not synchronized after scroll on touchpad. Solved only if set Cfg ScrollForceSync=1. B: RemoveRow could break down layout when removed not yet rendered rows B: TreeGrid could not be created if removed tag defined by TreeGridControlsTag B: TreeGrid could be printed cut off or small in the newest browsers B: Links in Link Type or in HTML containing <&'" characters were exported with xml entities instead B: Reference in editable formula to single cell in another sheet was invalid after switching sheets 16.4.3 B: Rows with Expanded=2 were not exported to CSV and XLS B: JS error in some cases when grouping filtered rows and ShowFocused is set B: Moving run boxes between rows could cause showing (expanding) expandable source child rows on undo / redo B: Pasting only one column could remove one pasted row that contained substring of Header cell with CanCopyPaste=3 B: Nested grid could be inactive when scrolled and more nested grids in one cell were present B: Defined number name in xlsx could cause JS error B: Printing GanttBackground in strict mode could increase the first row in grid B: PDFFitPage in exporting to PDF did not zoom the grid correctly 16.4.2 C: OnValueChanged and OnAfterValueChanged are now called on tag delete - in DeleteTag action if not called in EditMode. B: GetRoutes did not check GanttMinSlack B: Nested grid could be inactive when scrolled too much B: Add menu on toolbar button was displayed under focused cell B: Moving run boxes between rows could cause showing (expanding) source child rows on undo / redo 16.4 +: Added Format TextFormatRange to apply text Format in Range to every value in range instead of the whole cell value B: Disabled grid did not update the disabled tag on window size change +: Added AddGanttRun API to add run boxes to existing GanttRun +: Added Update&512 for server changes to modify GanttRun from server, add new boxes without deleting the old ones +: Added DragGanttRunByMouse API to drag run boxes outside to grid like dragging it from grid C: EnumMenu now works without Enum set B: Ghost in DragByMouse could have wrong size on start rendering +: Added RemoveParents and RestoreParents API to temporary remove some parent rows, e.g. on filter in OnFilter, to permit sorting child rows among parents B: JS error sometimes when dragging Run box to empty cell B: Run boxes could disappear during drag slide when GanttHideExclude was set +: GanttSizeFit was updated for GanttHideExclude to use GanttWidthEx/GanttWidth ratio B: Using JS keywords new, delete, const and let in TreeGrid Actions code broke the code B: Dropping run box to empty cell on GanttRunSummary could created not expandable child rows B: Sheet could freeze when right aligned cell was spanned among column pages B: Using different decimal separator in number Format could cause edited number being not accepted B: RestoreCfg froze browser if set GanttSizeFit with GanttUnits months or years B: Gantt chart with background was incorrectly printed to PDF by Puppeteer (Chrome) 16.3 +: Added attribute FormulaColorRanges for coloring cell ranges during formula editing, in the formula text and also in grid B: Calendar="{Weeks:0}" now hides just week numbers to not break down the calendar layout B: Calendar in Range cell could display and edit incorrect date if not set GanttLastUnit B: Calendar showed incorrect time if the date format contained parts in '' / "" B: Calendar did not show OK button if edited only month and year in some cases B: Auto Calendar showed NaN values in all days for some date formats C: Auto Calendar shows the second page of calendar for editing month and year when date format contains only month and year B: xlsx export did not work if included prototype.js framework B: TreeGrid did not save configuration to cookies if it has not set id B: Gantt tip did not change for not editable bars with Hover=1 B: '8' in number Format right side to . did not work correctly +: Added global JavaScript variable TreeGridControlsTag to specify tag where all TreeGrid dialogs will be rendered - to support fullscreen displaying only part of page B: ExportType could be incorrectly saved to cookies and could cause presetting ExportSelected B: When set Text_Url or Defaults_Url without setting _Static the popup grid dialog was not shown B: Range=2 was ignored for number values in filter cell for Enum/Radio +: Added value 2 to CopyFocused as: copy only focused rows and rows with CanCopyPaste=3 B: Possible JS error when Format was number B: Possible JS error in Chrome if no header row was visible B: xlsx with quotePrefix for cells with number value could not be imported B: Vertical scroll position could be incorrectly updated after showing TreeGrid from display:none B: IndentCols did not show auto col tree for the first level if set ColTreeLast B: Action Outdent could incorrectly outdent selected rows B: GanttBackground was printed per row (and slowed printing) even for PrintGanttBackground<=2 when defined GanttCalendar or GanttBackground in any row. B: Saved cookie was broken if set StyleLap="1" SizeLap="1" ScaleLap="1" ContrastLap="0" +: Added 4. bit to RoundNumbers to round all numbers in cells with Format = '@' B: Tab out to another input / textarea when grid was in edit mode caused losing focus in the new input / textarea C: Tab into grid with StaticCursor move the focused cell +: Added TabStop values 3 and 4 to tab in and out grid without moving focused cell B: EnterMode=3/4 caused losing focus when pressed enter in the last cell B: ImportLimitCols could cause cutting count of rows to 1000 B: Actions ShowMenu and ShowPopupMenu could not show menu for focused cell instead of actual cell B: IO HtmlMessage was not shown on deleting rows and synchronous communication B: EnumMenu in JSON format was ignored if contained Items keyword in " or ' B: Cell Tip was hidden and shown again when focused hovered cell by arrow keys B: In exporting Format to xlsx the characters after * and _ were prefixed and shown in the cell value B: When used synchronous save after deleting rows, the IO HtmlMessage was ignored B: Temporary tag could be shown in page top left corner when editing some html code in grid B: Some actions for whole rows / columns were applied for both focused and selected together B: Cfg Contrast was not uploaded in "Settings" 16.2 +: Added method GetRoutes to get connected tasks and the longest paths in Gantt chart B: Gantt objects with higher order position were preferred for hover and actions before the objects under them even if they were not editable (e.g. dependencies above bars). B: Grids.NoTryActiveX disabled whole AJAX. Now it just disables the only ActiveX usage - in IE on file:// B: Small negative numbers were not displayed with exponent B: Column sections were not synchronized in some cases in Chrome with zoom!=100% B: Auto fill of string values containing numbers starting zeros removed the zeros B: Date set by string did not accept milliseconds .ttt in "M/d/yyyy HH:mm:ss.ttt" B: RowSpanned rows were animated incorrectly B: Hint was not shown for cells overflowed by 1px C: Incorrect HTML (not escaped characters & and <) in EHtml and Auto types was edited as cut off B: AutoHtml=0 was ignored for Auto type when rendering some HTML code B: AutoHtml=0 could not be used for xlsx import +: Added attributes EditDateTimeFormat, EditDateFormat, EditTimeFormat, EditNumberFormat to preset edit format globally for dates and numbers B: Date Format containing separators prefixed by \\ was incorrectly converted to edit format +: Added noshow parameter to SpanRange to speed up spanning many ranges at once B: Calendar by AutoCalendar was not shown for Auto type when date Format was set manually B: Locked Filter did not preserve editing in Filter cells C: HtmlMessage in IO set for data download is now shown after grid is loaded, not directly after the data communication B: Animating spanned cell could break down the row height B: Refresh of spanned cell with button in main column could break down layout +: Added ClearError flag to Validate to clear the Error attribute in valid cells +: EnumMenu can contain EnumKeys in Name to fill Text from Enum B: Changing Bool type did not clear Error attribute +: Added parameter string to OnGetFilterValue to specify if the requested value is compared as string or as number C: N and V attributes were ignored in tag B: Header cell Type was set to Text instead of Lines if no caption was defined B: Chrome in zoom != 100% could switch to SafeCSS mode C: Date picker did highlight first day in date range if time was set B: Side Button in Rotated cells was displayed incorrectly B: Calculating column width with rotated cells was incorrect in Firefox +: Added OnRowRemove API event called when row is physically removed, also when Deleted row is accepted. +: Added value 2 to column Spanned attribute to cut off the RowSpan when the next cell has set RowSpan. B: Row height with spanned cells could be updated incorrectly in some cases +: Added value 2 to noshow parameter in SpanRange API method to call them more in one block B: Width of column section could be calculated incorrectly in Chrome when body and main header were hidden B: Action SwitchRowColAbsolute could not be found without Sheet component B: Action Validate could fail on testing Space rows with exception of not reading NoUpload attribute B: Action StartEditEmptyDeleteTag threw exception if no Tag was defined 16.1.2 B: RowSpan was not set in copied children or children added by def Children B: Inserting image to empty Img type cell did not set image width and height B: Image imported to Img type from xlsx did not set width and height B: Editing Img type could incorrectly calculate cell height B: Entering characters < > & in editable formula when cell has Type EHtml or Auto with AutoHtml was impossible B: Entering incorrect time like 12:345 into Auto cell still converted it to time like 12:34:05. B: Entering reference to cell or cell range by mouse click or dragging did not work correctly B: Choosing suggested item by mouse click in the suggest menu could move cursor to input start in some browsers B: ExternalEdit was not updated when put suggested item or chose cell or cell range reference 16.1 +: Added options to GanttZoomFit and attribute GanttZoomFitRound to permit zoom fit to visible width and show horizontal scrollbar to the rest +: ScrollToGanttRunBox can scroll also outside actually zoomed range B: When scrolled Gantt chart to the most right and focused another Gantt cell, the Gantt could be scrolled to the most left !: Modified default value of InsertImg, removed flag "float" to avoid dropping image option to any grid. B: SVG images could not dropped to grid in some cases B: Translation of menu items was incorrectly set in language files and caused some wrong translations in some languages +: Added option to Translation Col: "Choose..." action name plus "Menu" to translate the popup menu shown by the Choose... action +: Added attribute SortIconsNumbers to show sort icons with number for position in sorting, added sort icons with 1 - 9 numbers to responsive CSS styles B: Hint was shown in some cases when the cell value was shown whole C: Auto sort never expands parent of moved child rows B: Calculated column width could be set 1px less and hint was shown for some cells B: Col index started on the second position (e.g. B instead of A) if set DefaultSort +: Added API event OnSetLink to control the cells where link can be assigned +: Added API event OnOpenImageCell and updated API event OnDropFile to control the cell where image can be inserted B: ChangeFocusRow could remove focus if called after action that failed B: Img type did not show correctly direct images in data: +: Updated API OnCanRow add to change place where the row(s) can be added or copied B: It was not possible to set xxxVisibleFormula to show individual sheet buttons on toolbar if not set DynamicStyle/DynamicFormat/DynamicBorder C: DateFormatLowercase now converts 'm' to 'M' also if present 'h' or 'H', but after the 'm'. B: Svg code in Html/EHtml type containing attributes/tags with prefix: was incorrectly shown +: Added attribute ImportRows to import rows from xlsx to grid or Gantt chart +: Added flags TreeGrid, ColNames, RangeComment and FormatComment to ExportType to produce xlsx for importing rows by ImportRows +: Cell Tip can be exported as Excel comment (if set TipComment flag in ExportType) and Excel comment can be imported as cell Tip +: Added attributes ExportGrids and ExportSheet for exporting more grids to one xlsx on separate sheets +: Added flag HideFiltered to ExportType to export filtered rows as hidden +: Added flag HideGroupCols to ExportType to export columns hidden by grouping as hidden +: Added flag Language to ExportType to export date formats in actual TreeGrid language and not chosen by Excel locale +: Added flag NoHtmlPrefix to not export HtmlPrefix and HtmlPostfix attributes +: Added values 5 and 6 to row/col CanExport to export the row/col always hidden / visible +: Added API event OnExportCell called on export of every cell to xlsx C: If not set TextType in ExportType, the number values in Text types are left aligned B: Defined Name to the whole columns or rows could be incorrectly exported to xlsx B: Xlsx was not exported if it contained some wrong image url 16.0.2 !: On import xlsx the are now ignored according to Excel behavior against xlsx specification. Added Cfg ImportStyleXfs attribute, set it to 1 to use . B: If returned from server Reload and HtmlMessage, the HtmlMessage was not shown and API event OnAfterSave was not called B: Changed flag in Validate did not work correctly in 16.0 16.0 +: Gantt chart can be exported to xlsx as graphics. Added various setting for Gantt chart export. +: Added dependencies and scheduling for GanttRun containers +: Added attribute GanttRunContainersLabel and GanttRunContainersLabels to define and display labels in GanttRunContainers +: Updated scheduling for run boxes, joined boxes can scheduled together. B: Extending Gantt chart by moving bar to the left scrolled horizontally always to 0 B: Run drop cursor was incorrectly vertically positioned when set GanttRunErrorsShift +: GanttRunIds=3 now always generates unique ids +: Added calling custom function in GanttMenu like in cell Menu +: If Run box defined by Start+End/Duration after Nbsp box, it is still joined with the Nbsp +: Boxes joined by nbsp can be adjusted by shrink/slip/shift and the rest can be adjusted by error when sliding B: Dropping run box when set GanttRunErrorsShift now distinguishes the vertical position B: Dropping run box to append inside Nbsp behaved incorrectly in some cases C: If the whole main bar is in excluded dates, it still shows percent completion if set B: Gantt objects were inactive when used GanttPaging and row contained row spanned cells C: Default value of ExportHeights is 3 when exporting Gantt chart +: Added Tags attribute to display range cell value in visually separated and marked tags. The tags can be deleted by click to 'x' icon or during editing by backspace. +: Added method GetEvent to return actual TreeGrid mouse event B: Grid sections with Gantt could be misaligned vertically after filter +: Added actions DragFocused, DragFocusedCopy and DragFocusedCopyChildren to drag focused rows +: Updated GanttDragLine to show vertical lines when dragging run between grids B: PopupGrid border could be cut off from right side +: Added API events OnSelected and OnSelectedAll called after the selection is done +: Added test parameter to OnSelect and OnSelectAll B: Printing hidden columns width FastColumns and PrintLocation>=2 printed empty cells in these columns B: Animated dialog in Firefox could be shown under grid B: Grid showed cursor and dialog displaced in Safari on Mac when browser page was scrolled left or down B: Data from server were not added when set IO HtmlMessage and SuppressMessage was 4 +: Added value 8 to parameter type in Reload method to clear opened xlsx file and reload normal json/xml data !: Validate now ignores NoUpload columns +: Added attribute ImportAdd to specify if the opened xlsx will be added to existing one or discard the old one +: Added attributes ImportLayout and ImportTreeGrid to permit opening xlsx file in grid that loaded normal xml/json data B: Grid could be disabled after exporting when it contained not rendered rows processed by PrintVarHeight B: Cell value could be shifted after editing in xlsx in rare cases B: With Paging=3 and SelectAllType&16 the SelectAll button still selected / unselected only actual page B: Sorting could remove pages when grid contained only adjacent blocks (RowSpanned rows) B: Popup dialog could be displayed centered without visible header and buttons if there was no room for them B: Safari 14 on iPad was incorrectly detected and dragging did not work correctly B: Dragging rows between nested grids on touch screen was not possible B: Cell cursor could be displaced in Chrome and Scale!=1 and Overlay B: Imported xlsx could ignore ' in cell value start in some cases !: DefaultSort default value changed to 1. Added DefSort button to Toolbar and it is shown instead of Sort button by default. !: Cells with
in Html or EHtml type and cells with LF in Lines type are exported with Wrap=1. Added flag NoWrapBR to ExportType to disable the feature. B: MainTag height or width could be incorrectly updated when resized to accommodate too big grid if the MainTag has not set height/width by inline style B: Link type containing & < characters in text exported to xlsx broke down the xlsx 15.1.4 B: Resizing end of GanttRun box ending before excluded dates shifted the mouse position by the excluded date B: Editing empty cell Lines type or vertically aligned could place the edit box in incorrect vertical position 15.1.3 +: Added actions HideSheet and ShowSheets to change sheet visibility in toolbar sheets !: Hidden sheets are now exported as hidden B: Colspanned cell in fixed rows in ColPaging>1 and ColPagingFixed=0 was incorrectly focused/hovered in Chrome and next cells could be incorrectly colored in all browsers B: Hiding many columns with ColPaging and ColPagingFixed=0 could scroll the fixed section incorrectly in Chrome B: After Reload with type&4 did not work ReloadBody B: Cell wider than view was not scrolled into view while moving focus by arrows B: Dates in range 1/1/1900 - 1/1/1970 were incorrectly exported to xlsx when set ExcelDates=0 B: AddCols threw JS error when adding columns in some cases B: Parameter type in OnCanRowDelete was 1 instead of 2 if ShowDeleted=1 B: Height of row could be incorrectly too high if contained wrapped cells in hidden columns, if SafeCSS set. B: Filter could be very slow with many hidden rows and FilterHideParents set B: AutoSort did not work with Expanded=2 rows / FilterHideChildren B: OnLinkClick returning true did not cancel the link navigation C: Updated ExcelDates to accommodate Excel compatibility bug on 2/29/1900. B: ExcelDates with time only returned date in 12/30/1899 instead of 12/31/1899. B: ExcelDates with time only set in data were converted to 1/1/1970 instead of 12/31/1899. B: Grid could not be horizontally scrolled in Chrome when no variable rows were visible and set ColPaging=2 ColPagingFixed=1 B: Cell with link could generate JS error when accessed by keys B: Dragging row on the horizontal scrollbar did not auto scroll down B: Data format d.M.yyyy in GanttRun in Chrome was converted incorrectly to M.d.yyyy B: Pasting with CopyCols>=4 could generate JS error B: Focus cursor and edit input in nested grid could be hidden in some cases B: ShowPopupGrid did not work correctly if called for nested grid B: AutoSort could generate JS error in Gantt when used FilterHideParents 15.1.2 +: Added attribute FormulaPlusNumbers to use the + operator in editable formulas only for numbers and empty strings, like in Excel B: Paging could incorrectly calculate page height if some rows have set Height attribute. Bug introduced in 15.0.20. B: Column tree was not created in left column section when created by Level attribute or from xlsx. B: Hidden sheets could generate empty tabs in sheets list when not set ShowHidden=1 in the sheets cell. B: Hidden sheets were not accessible either if set ShowHidden=1 in sheets cell. 15.1 +: Added GanttMinWidth to specify minimal width of main bar to display (previously was hardcoded 6 px) +: Added GanttHtmlHover and updated GanttIconsHover to permit dragging main bar by the side text and side icons +: Added GanttMinResize and GanttRunMinResize to disable resizing too narrow bars in small zoom B: GanttTextOverlay could break down Gantt background in Chrome +: Added OnGanttEdit API event to control GanttEdit dynamically +: Added MainXResizeLeft and MainXResizeRight keywords to GanttEdit to permit resizing only one edge of main bar C: If Gantt main bar is defined only on excluded dates, its duration is now set to one GanttDataUnits after moving instead of deleting it. !: GanttNoMilestones is read also from the cell and from main plan B: Gantt border was displayed in empty Gantt cell, even for GanttShowBorder = 0 +: Added GanttAvailabilityHidden attribute to calculate resource chart from all rows, including hidden +: Added GanttAvailabilityTextShift attribute to shift overlaying text vertically in resource chart +: Added Export_Type="Save" to upload the exported data to server by AJAX to save them here instead of downloading them back +: Added "Currency" flag to ExportType to export actual currency string instead of $ to xlsx +: Added flag NoLink to ExportType to not export links to xlsx !: Added attribute ExportBase64 to control data format in OnExport API event. If set Export_Type="export" or "save" the OnExport gets the data in base64. B: Xlsx export threw JS error when exporting formula set by number B: ExportCols value 3 did not work correctly B: Children of hidden row with Expanded=3 were not exported / printed +: Added editable formula functions: xirr, xnpv, pmt, ipmt, ppmt, fv +: Added bit 2 to StrictNumbers to restrict entering hexadecimal values in Int and Auto types. B: #REF! in Excel formula caused JS error B: Calendar was not shown in Filter row if set Editing=0 B: Page zoom by Ctrl+mouse wheel was disabled on TreeGrid B: Setting width of column with actually rendering child parts threw JS error B: Editing date format starting by "yyyy" could lead to NaN B: Some date formats converted to editing could contain white space on start / end B: Copy&paste could paste NaN instead of value in some cases, if TreeGrid was compiled without EditAttrs module (in Sheet component) B: Action ChooseFormat returned false for test if the cell(s) has set actual Format already B: Entering January in some edit formats could write February instead +: Added attribute FocusLarge to not scroll the too high cell to its top. 15.0.24 +: Added attribute GanttNoMilestones to display zero length main bars as narrow bar instead of milestones. In this case is possible to resize the bar to the zero length, but it is not possible to delete the bar by resizing. B: JS error when EmptyValue for text types was number !: GetGanttIncorrectDepependencies now works also on tasks on different excludes, but the returned shift values have no meaning B: Action ClearCell failed without Sheet component B: EditFormat="" did not clear the Format for editing B: Some antiviruses returned false positive for some registered GridE.js 15.0.23 +: SaveAttrs can save Format and other Lang tags attributes B: Custom actions assigned to Grids used without quotes did not receive target and test parameter values 15.0.22 B: GanttAvailabilitySum returned incorrect values in some cases with excluded dates inside the summed range C: Incorrect dependencies on different excludes are marked incorrect according to the possibility of moving the dependent task C: Behavior for values 2,3,4 of GanttCorrectExclude were changed. The correcting dependencies on different exclude has been standardized, dependent task movement is preferred. B: Dates uploaded in format dd.MM.yyyy could be incorrectly set as MM.dd.yyyy in Chrome +: Possible to import and export of xlsx and csv together (import csv via API). Added ExportCols=3 to show the export menu also if imported xlsx. B: Radio type was inactive with Wrap=1 B: Export to csv failed if exported number in cell with @ Format. B: AutoUpdate was not used for dynamic span B: xlsx without "r" attribute in cell definition was not imported correctly. B: Entered value "e" could be taken as correct number in Auto type C: If entered at least one incorrect date in range Auto cell, the whole value is taken as string !: Setting row attribute CanEdit=1 now works like null and does not permit editing in the whole row for all not editable cells B: Dependencies were not rerendered when showing / hiding rows manually B: Disabled Gantt Main bars ignored minimal width 6px +: Added Object attribute to JSON object in cell attribute to use the object as is without serializing (to use its assigned functions). !: Span/Float and GanttIncorrectDependendencies=2 are ignored when calculating GanttSlack (critical path). For original behavior set GanttSlackSpan=1. 15.0.21 +: Added GanttCorrectExclude options 3 and 4 to schedule tasks on different excludes by different way, because no way is ideal +: Added value 2 for milestones parameter in ganttstart and ganttend functions to return empty value if there are only opposite edge milestones B: GanttAvailabilityDivide produced incorrect values when the date range started before the chart start B: Detail grid was not updated if added rows by tag !: Changed export of dates in GMT=0, now the dates are exported in the timezone they are displayed in grid. Previous behavior, export in GMT, can be set by adding GMT flag to ExportType B: Export dates without Format to xlsx could contain time part for no time if not set ExcelDates 15.0.20 !: Updated and corrected marking incorrect dependencies on different excludes, especially for GanttIncorrectDependencies=2 +: Added GanttCorrectExclude option 2 to schedule tasks on different excludes more in scheduling direction C: ganttstart and ganttend functions return start or end if parts contain only milestone B: GanttChartResource compatibility was broken B: Expected height of page or child part was incorrectly calculated for hidden rows with Expanded=2/3 B: Export to xlsx could fail if column names were numbers B: tag in cell HtmlPrefix / HtmlPostfix was not exported and could break down also the exported value B: Hidden parents (Visible=0 Expanded=2/3) could break down grid when used ChildParts B: FilterHideParents could break down grid in various cases 15.0.19 B: RelHeight did not work for solid space rows since 15.0.18 B: RelHeight for fixed row did not work without setting the row Height 15.0.18 +: Height of GanttAvailability is updated after row resize (if not set GanttAvailabilityHeight) B: Gantt width was not calculated according to fixed rows B: Setting GanttChartMin/MaxStart/End could break Gantt zoom synchronization +: Added attribute GanttResourcesAdd, if set to 0, the ResourceGrid rows are not automatically generated according to source grid resources B: Non ASCII7 characters in column captions in source grid could break pivot summary calculations B: Setting NoData row Html attribute to empty string did not hide this row B: Tree lines were broken in compatible css styles if set VertAlign B: Hiding many rows in grid with FastPages could break grid layout B: Returning empty page in server paging threw JS error B: Setting RelHeight only in fixed non space row did not work B: Gantt background for exclude was not rendered in fixed rows in some cases B: GanttRoundExclude and GanttHideExclude=4 did not work for not repeated date ranges B: GanttAvailabilityDivide produced incorrect values when the date range ended after the chart end B: Date formats MMMMM and MMMMMM did not work with Hirji B: Radio with Wrap=1 was inactive in some cases 15.0.17 B: Date Format MMMMM and MMMMMM did not work with GMT=0 B: Pivot grid did not read attributes from
tag B: Last row in JSON output data Changes tag ended by comma B: JSON output data of type Changes+Cells was incorrect due missing comma B: If set GanttCorrectExclude and dependency had specified span/float, the scheduling was incorrect B: Cursors could be misplaced in Chrome for some spanned cells B: Level attribute was processed also in child page load 15.0.16 B: Possible JS error when focusing child of invisible parent and immediately another row B: Hiding parent rows by Expanded=3 or FilterHideParents did not work with ChildPartMin=0 B: Hint in Compatible CSS styles ignored mouse events B: SpreadSheet only component threw JS error when used Paging B: Dependencies could be marked incorrect if tasks were adjacent by excluded dates if set GanttCorrectExclude B: Scheduling with GanttCorrectDependenciesFixed and GanttIncorrectDependencies=2 could generate error in exclude calculation B: JSON request for Cell_Url could be invalid JSON B: data-* attribute was not supported in HTML code in tags 15.0.15 B: Edited text in Header was not visible in some CSS styles using inverse colors +: Added API event OnStartedEdit called after editing started to control input / textarea, e.g. to turn autocomplete off whenever Chrome changes its behavior B: Expanding / collapsing in Pivot could be wrong when PivotData contained only one value B: Xlsx files with absolute urls in Rels were not imported C: Format and Range are not read from main column in group row B: Added row was not scrolled into view in some cases 15.0.14 B: opened new window while executing the script. Added also Cfg NoLinkJavaScript attribute, if set to 1, all javascript: links are ignored. B: Empty Gantt calendar in row was not displayed over main calendar B: Connecting first dependency to Gantt bar without correcting dependencies could shift the bar down B: Gantt could be scrolled incorrectly when changing Gantt zoom in Firefox B: In TreeGrid.dll/so NumberSort=1 and also Type="Int" / "Float" / "Date" were sorted as strings 15.0.13 B: FilterHideParents did not work correctly if hidden / shown more row than SynchroCount B: Levels button did not show correct count of buttons sometimes on start, after grouping and after server page loaded 15.0.12 B: Export to xlsx generated JS error since 15.0.10 when was not included Import module from Sheet component B: If Gantt column was rendered hidden (Visible:0, Hidden:1) it did not display background after showing B: Displaying first or only hidden column (Visible:0,Hidden:0) in left or right section in grid with left side pager broke down grid layout C: In TreeGrid.dll was changed linker version to 14.16 to avoid problems in loading to PHP 7.4 15.0.11 B: Upload_Type settings flag did not upload Cfg attributes ReversedTree, ReversedColTree, DefaultBorder, HideZero, FormulaShow B: Dragging by mouse threw JS error when removed Touch module +: Auto tree by row Level is now created also in downloaded root pages 15.0.10 B: Removing row in tree and RowSpan could generate JS error B: Removing or deleting and hiding row(s) and hiding column(s) by action failed if set SuppressAnimations=1 B: TreeGrid could generate JS error if used MaxHeight and browser window resized during loading B: When adding new Name in sheet, the sheet name was not added to the cell(s) reference. When exported this name to xlsx, the file was corrupt C: Cell(s) reference in added new Name in sheet is now absolute B: Cell(s) reference in Name was not updated when adding/removing columns or rows B: New Names in sheet could be deleted when switched to another sheet B: Undo add column(s) did not recalculate index and formulas when animations were on B: Deleting column(s) did not recalculate index and formulas when set ShowDeleted=1 B: Grid was scrolled down after deleting row in some cases when animations were on B: Editable formulas were not recalculated in some undo actions when animations were on and two undo actions were done fast B: Undo adding more rows, undo adding and removing more columns and redo removing more rows and columns could not work correctly when animations were on B: Undo and redo removing row(s) and column(s) could not work correctly B: Undo deleting hidden column(s) was incorrect B: JS error when removed all rows and variable row was focused C: AddPage and AddColPage now do not add change focus to undo B: Hidden columns were not affected by mass changes +: Data_Data and Data_Script can contain also binary xlsx, if set Data_Format="xlsx" B: Focus cursor if focused whole column(s) could be misplaced in Chrome and column paging B: Expanding columns in tree could select the child columns if set SelectingFocus B: FilterOff item in filter Enum menu in range cell was set as bool B: Filtering by empty Enum value was not possible with FilterOff set B: If FocusedRect contained whole columns or rows, the range was extended by spanned cells B: Undo button could be disabled sometimes by some action that changed layout B: External focus was not refreshed correctly by some actions changing indexes in grid B: Moving or hiding last visible row from root page could break down the other hidden rows on the page, they could not be undone or shown until render B: If removing rows should hide tree, the grid layout broke down B: Freezing rows and columns was not undone / redone +: Added 8.bit &128 to Undo to permit redo after scroll, focus and select B: Row spanned cell through children could break down grid layout if its value was higher than the spanned space B: Cell html code in EHtml / Auto was copied to clipboard B: Copy & paste of selected rows did not copy cell attributes B: Possible JS error when recalculating editable formulas referring rows on removed auto pages B: Copied hidden column in copied range was shown B: Hidden rows were not copied in range B: Removing hidden column could break down grid layout +: Add NoUpload flag to Upload_Attrs to upload also rows with NoUpload, use for PDF export B: If exported to xlsx from page running on file protocol, error alert was shown on first time, although the export run correctly B: If printed Gantt starting on not rounded unit and the first part could not be added to the previous columns, the next printed Gantt page was narrow B: Change of cell with Undo=0 cleared Redo buffer C: CSS z-index of hint was reduced from 260 to 257 to be behind menus and dialogs +: Added value 2 to ExcludeClear to clear only values, not styles 15.0 B: GanttMark could be incorrectly placed after change of Gantt page C: GanttBackground is now not rendered per row if row calendar is the same as default calendar B: GanttCenter=2 could place the milestone one GanttUnits left in some cases due rounding B: ganttprogessline could return wrong result if set GanttLastUnit B: Operator = to set exact amount in GanttAvailability definition did not work in some cases B: Moving RunSummary bars with ChildParts could generate JS error B: Availability bounds could be calculated also from adjacent outside range C: Negative Availability was adjacent to the bottom without gap B: Availability margin was used twice in some browsers B: Availability was incorrect, if the repeater was missing completely including the # B: One pixel width dependency lines could be broken if were in one cell +: Added RemoveGanttRun... actions and menu items to delete the run box(es) and shift the rest C: Accepts GanttRun defined also as JSON object B: GanttHeaderId did not work for Filter row B: GanttHeaderId was not refreshed on zoom change if removed B: GanttSummary task ignored child constraints when moving, for the first plan C: FF and SS dependencies between tasks on different exclude accept the second date before the first date if there is enough excluded time after the second date B: Editing Gantt calendar could not be undone C: Renaming or deleting Gantt calendar in popup Dates grid will rename or clear the Calendar settings for individual rows B: GanttZoomDateAlign=Left did not work correctly with GanttSizeLeft / Right B: Zoom synchronization could be broken in some cases C: GanttRunClass is not used for empty and nbsp boxes now C: If deleted row and GanttDeleteDependencies is set, it deletes dependencies from the row also if there are no tasks B: Dates dialog with numbers instead of dates did not work without setting GanttEndLast=0 C: Resources edit dialog is now modal and is not closed after clicked outside it B: First or single milestone in Gantt cell could be shifted by 3px horizontally in some cases B: GanttCenter=2 did not work correctly in some cases B: GanttPageInit did now work correctly if set less then body width and Gantt column width B: If set GanttSizeFit without GanttSize, grid was not displayed in some cases B: Gantt column could be shrunk after printing B: Printing Gantt to PDF to more horizontal pages could print all the pages from Gantt start, especially Run bars +: Added EHtml type for editing HTML with HTML editor (contentEditable), standard DynamicStyle and DynamicBorder actions work also during editing to set the style / border to the selected text +: The HTML text supports border, text and background color, text shadow, font size and face, bold, italic, strike, underline (including line decoration and color), subscript, superscript, !: All links in grid (Link attribute, Link and Img types with link and tags in Html, EHtml and List) are handled the same using ShowLink / CancelLink actions !: LinkTarget and LinkBase are used for all links in grid (Link attribute, Link and Img types with link and tags in Html, EHtml and List) +: Added actions Increase/DecreaseTextSize, UpperCase, LowerCase +: Added action OpenImage to insert images to EHtml, Auto, Img and Icon types, controlled by InsertImg Cfg attribute. +: Possible to drop images to cells of type EHtml, Auto, Img and Icon, it is controlled by InsertImg Cfg attribute. +: Editing images in EHtml/Auto type by mouse dragging - resize, rotate, move, move to another cell, crop, change opacity +: Type Auto can be edited also by HTML editor if set AutoHtml=1 !: File type cell and OnSetFile event handles array of files instead of input type='file' tag +: File type cell accepts files dropped by mouse to the cell +: It is possible to add new files to File type cell without clearing the previous ones +: Added DropFiles attribute to control dropping files to grid. Added also API events OnDropFile and OnDropFileError to control dropping dynamically. +: Added IconSize attribute to control background size of Icon type !: Added all dynamic style attributes to default EditAttrs for ClearStyle when DynamicStyle is set !: Files Drag.cur and NoDrag.cur were moved to the responsive CSS styles to be included in the CSS. Only in IE and Edge and in compatible styles there are still used the Drag.cur and NoDrag.cur in Grid/ directory C: Texts shown in editing Link and Img formats were placed to Text.xml and translated to other languages B: Border cursor when editing Lines type was slightly lower than bottom cell edge C: Editing is finished when changed configuration or columns menu C: Border space cell now displays empty border as double underlined icon +: Action name in can end by "F" to be used for action for focused cell or by "E" to be used for the action if called in edit mode +: Added cell attributes Pattern and PatternColor to set cell background patter or gradient fill. Added accompanying attributes and actions for changing. Added many predefined patterns and gradients. +: Added bits 11 and 12 to TextStyle attribute to define Subscript and Superscript in the cell. Added accompanying actions for changing. +: Added bits 7-10 to TextStyle attribute to define underline (and overline and strike) line color and shape. Added accompanying actions for changing. +: Added Cfg attribute HideZero to display all zeros in numbers as empty +: Added Cfg attribute FormulaShow to display editable formulas in cells instead of their results +: Added cell attribute ExpandCol to specify main column that expands this spanned cell, useful in ReversedTree B: Edit cursor did not update its width if the cell was overlaid to the right +: Added attribute DefaultBorderColor to specify color of the cell border !: AddRows now returns array of added rows if set parameter cnt, otherwise it returns the one added row directly (for backward compatibility with 13.0 - 14.1) +: Added Cfg attribute IndentType to indent / outdent row without its children like in MS Excel B: If mouse went outside edited tag when selecting text, the editing was finished +: Added button "Level" and action and method ShowColTreeLevel to expand / collapse all cells in fixed rows B: Update() was periodically called in some compatible css styles B: Icons for Expand button in some styles have incorrect direction +: Added ExpandIcon attribute to control the Expand Button / Icon look B: Row tree lines and icons were incorrectly styled and position in DynamicBorder and also in Index column B: Dispose/Clear/DisposeGrids did not close TreeGrid modal dialog (print/cfg/...) B: Action Blur did not remove the grid from Grids.Focused B: Some formats like "c" (currency) could not edit zero value (showed NaN) without defining EditFormat +: Added actions and methods FixAbove, FixBelow, FixNext and FixPrev to freeze / unfreeze rows and columns +: Added attribute ShortVScroll to show vertical scrollbar only next to the body rows B: CustomScroll=4 did not scroll horizontally in some CSS styles +: Extended Overlay to overlay row spanned cells and minimize mangled text if two cells overlay to the same cell +: Extended Overlay to overlay centered cells - overlay to both sides B: Corrected bugs in overlay - editing and hint of overlaid cells, especially in right aligned cells +: Added Align value RightOver to cut off the overflowed right aligned text from left instead of right B: Changing cell row span dynamically did not update row heights correctly +: Added attribute AutoSpan and actions AutoSpan, AutoRowSpan and AutoColSpan and API method AutoSpanCell to span a cell vertically and / or horizontally to display its value fully +: Rewritten xlsx import and export code to use more features of xlsx in TreeGrid +: Extended attribute Rotate to rotate cell freely by one degree, added new actions and attribute to support it. Possibility to display cell text vertically. +: Entering new custom format shows actual cell format as predefined value B: Editable formulas did not column caption as column name if not defined column index +: Added attribute CenterTo to center cell value to more cells, like CenterContinuous in MS Excel. B: Defaults with *RowsDef did not work if the default name contained digits +: Added API events OnPrompt and OnPromtFinish to control all entered values in grid B: Date picker did not show correct page (days vs. months+years) for some date formats B: AnimateDialogs and SuppressAnimations did not control animating page change in date picker B: Editing empty cell showed cursor always on top regardless on VAlign +: Added attributes FilterReplaceOne and FilterReplaceMore to define wildcard characters to use in Filter, in string compare, e.g. ? and * B: LeftHtml/MidHtml/RightHtml values were incorrectly printed to more pages B: Overlay did not work between pages in Chrome +: Added Locked and LockedValues Cfg attributes to set various locks on grid +: Added new suffixed to actions names: FSARCWO. Affected all actions with F suffix. !: Actions manipulating cells, rows and columns were updated to automatically choose the source, actual, focused or selected cells / rows / columns. !: Removed mass actions ...Cells and ...Selected, they are replaced by the action without the suffix. These actions without the suffix now manipulate all cell ranges !: Actions SpanSelected, SpanCells and SplitSelected, SplitCells, SplitCell were replaced by new actions Span and Split !: Actions IndentRows, IndentSelected and OutdentRows, OutdentSelected were replaced by actions Indent and Outdent !: Mass actions for border, style, span and format do not return number of affected cells if tested, the %1 cannot be used in the action title MenuCell +: Action title in MenuCell can be defined also for suffix and for number of affected rows / columns. Defined different titles for one affected row / column !: Actions HideCol, HideAllCols, HideSelectedCols, HideRow, HideAllRows and HideSelectedRows were replace by HideCols and HideRows +: Added action ClearValueStyle similar to ClearCell, but available only if there value(s) and style(s) to clear +: Added actions UpperCase and LowerCase to convert cell or selected text case +: Added actions IncreaseTextSize and DecreaseTextSize to change font size of cell or selected text C: Cell with set CanEdit attribute and DynamicEditing can have different background color C: Action ShowCalendar can be used for Auto type +: Possible to focus whole row range or whole column range. Updated attributes SelectingCells, SelectingFocus. +: Added actions FocusRows and FocusCols to focus row range or column range by mouse dragging !: Actions FocusWholeRow and FocusWholeCol focus all rows / columns in actual FRect +: Cell style, format, border and CanEdit attributes can be set to the whole row and column also by mass actions !: VAlign attribute renamed to VertAlign to not collide with V+Align. Renamed also VAlign... actions to VertAlign... !: Cell attribute Def renamed to CellDef to not collide with row CDef attribute as C+Def. +: Format and EditFormat are read also from row attribute !: Added DynamicEditing attribute. It permits actions changing editing permissions like SetEditable / SetReadOnly. It is off by default +: Added MaxMenuAllCells and MaxMenuAllCellsValue to limit maximum tested cells when testing availability of mass actions !: Added default column "Space" to use as column for Space cells instead of default column "C" !: Toolbar cell Format renamed to TextFormat to not collide with row Format attribute B: ConstWidth / RelWidth column could cause problems in Chrome when hidden in some cases +: Added Cfg attribute DefaultBorderColor to define color of the DefaultBorder +: Added value 2 to Button Switch attribute to permit more icons / text for more integer values +: Can be added empty space row without Cells, with only Height set, as separator B: Automatic changing row height due cell value change was not undone !: When loading from xlsx, FormulaRelative is now set to 1 instead of 2 +: Added fractional numbers to format numbers by "/" character as "/??" or "/2" or "/3", ... B: Millisecond could not be formatted for Excel dates and 10ms and 100ms displayed incorrectly also in normal dates !: LongMonthNames2 are displayed instead of LongMonthNames for MMMM if no day displayed +: Added ShowPrintPageBreaks Cfg attribute to show expected page breaks in grid to show how it will be printed to pages B: In EditServer the call to server was done twice on double click +: Added Cfg attribute ExternalEdit to permit editing focused cell also in Space cell like Formula cell in Excel +: Added Cfg attribute ExternalFocus to display focused cell or range and to permit entering new focused cell or range +: Added Auto type Format "!" to display true / false for 0 / 1 vales +: Added attribute AutoBool to automatically set "!" Format in Auto type B: PrintPageBreaks was read incorrectly in menu, when the menu items was hidden B: Printing with PrintLocation=3 updated layout for LimitScroll +: AjaxCall function callback is now called with the input url in the third parameter B: SetAttribute did not work with SaveOrder B: Dialog in ChooseBorder and ShowFilterMenu has not translated menu buttons +: Added Cfg attributes Contrast and Contrasts and updated responsive CSS styles to show in different contrasts Bright, Vivid, Default, Soft, Dim. Added Contrast buttons to toolbar and item to configuration menu. B: ExpandCell did not update focused cell +: Added LineHeightRatio to specify ratio lineheight / fontsize when changing TextSize +: Added NoWrapBR attribute to not wrap
and LF in Auto / EHtml / Html and Lines types B: Dragging column worked incorrectly in group where the first column was hidden +: Added all html colors to supported color names C: RowIndex is now not affected by css base color B: On tablets were row sections shifted by 1px if hidden some column with Visible="0" Hidden="1" B: Size / Scale was not synchronized with other grids when changed in configuration menu +: Added attribute DefaultSize to predefine Style Size that is related to column widths in data B: Cells with date format showing count of units could show one unit less due rounding bug B: Prompt ignored width of message B: Adding new columns could add column with the same name as removed column and get its data C: Calendar shows actual date instead of 1/1/1970 if the cell value is less than one day in ms B: Popup menu was not translated in some cases +: Added attribute Count to TextXX translations to merge more translations to one definition B: Mirror toolbars were not translated sometimes +: Added OnMediaUse API event to choose when the particular tag will be applied +: Added MainTagWidth and MainTagHeight attributes to media tag to control size of main tag by media +: Added value 2 to tag Tag attribute to apply the media size attributes to main tag or window conditionally +: Updated media to set correctly NoVScroll and NoHScroll attributes B: Style Size was not correctly updated when changed in configuration menu +: Extended and updated SwitchPivotGrid feature B: Pivot grid was not updated when changed master cell if the cell had EnumKeys defined C: Sped up adding many rows at once +: Added WinScroll button on toolbar and action ChangeWinScroll to switch on / off the grid scrollbars (NoVScroll / NoHScroll attributes) +: Added attribute Json to switch TreeGrid globally to Json format, to read Defaults.js/Text.js instead of Defaults.xml/Text.xml !: Json attribute default value is chosen automatically according to the TreeGrid inputs +: JSON format accepts also Short and Extra short formats B: Using tags with _xxx suffix did not work correctly in JSON format +: JSON format accepts also array of strings as visual replacement for one long string B: JSON format did not accept children of default row and child tags of subtags B: GetXmlData function failed in SpreadSheet only component +: Sped up rendering grid in Paging=1 B: Server changes () in EFormula did not clear old formula if the formula was removed +: Added Cfg Reset attribute to reset style or language if the style or language file is not included in bundle B: Upload_Type Index did not work correctly for added and deleted columns and rows B: Upload_Type Selected + Changed or Cells produced invalid JSON with two Changes tags +: Added attribute MediaAttrs to test any Cfg attribute in media tags B: Dragging column to Group row was not possible in Firefox when set SelectingText='1' B: Media "print" was not checked when testing media during rendering using PrintTreeGrid +: In CSS, the ...Color... classes background can be defined by rgba(r,g,b,1) to be added instead of subtracted to the resulted color +: Added Date Format yyyyy as year of week +: Added auto col tree to create column tree according to the columns Level attribute +: Added Cfg attribute ColTree to control displaying auto column tree. It can be changed by user in cfg menu. +: Added actions IndentCols / OutdentCols to change the column level +: Added auto row tree to create row tree according to the rows Level attribute +: Added Cfg attribute HideTree to not display tree icons and lines in MainCol, but preserve most of tree features. It can be changed by user in cfg menu. +: Added Cfg attribute HideEmptyTree to hide tree when all rows become root +: Added Cfg attribute AutoTreeWidth to resize main column when maximal level changes to always show the whole tree +: Added option 3 to EditErrors to not show message on loading +: Added Cfg attribute CalculateColumns to recalculate grid whenever columns are added, deleted, copied, moved, shown or hidden (but not resized). B: Tab in row with all cells row spanned went through the row more times B: Rendering row page could change scroll in ReversedTree B: Undo RemoveCol placed it in wrong location in ColPaging +: Added attribute GanttShowBorder to show / hide the horizontal border between Gantt cells B: Hiding column with RowSpan and Span could fail for FastColumns=0 +: Added attribute NoExportFunc to not export custom functions to xlsx B: When dragging using DragByMouse in IE over cell focus cursor the grid could freeze +: Added ResizeSection API method to resize column section +: Added FormulaTimeout to limit time for calculating editable formulas in sheet +: Link attribute can contain reference to another cell in the same or another sheet +: Pager shows row numbers if there is no sort and RowIndex is defined B: Word "Page" in Pager for newly added page was not translated C: Mirror mirrors main Toolbar including Toolbar specific attributes +: Added FastColumns value 2 to not display hidden columns on start in xlsx B: Custom mouse cursor was downloaded in Chrome again for every cell B: Too wide Tip could display page scrollbar B: Click to expanded Enum cell in Scale!=1 did not close the Enum +: Added Names to editable formulas B: Defaults with only one number and white character separator failed to show B: Moving more columns with spanned cells could break down the layout +: Added Cfg attribute PrintOnlyData to do not print last empty rows and columns +: Added values 3 and 4 to PrintConstWidth to resize all columns by ratio B: Changing RowSpan by AddRow / DelRow / MoveRow was not undone B: Changing Span by AddCol / DelCol / MoveCol was not undone B: Split and MoveRow were not synchronized and could break down grid layout C: Sorting in AutoPages does not sort last empty rows B: Undo did not work for resizing row height and updating row correctly B: Undo of deleted row after save broke down default of children of this row B: Editor in space row in compatible style was not displayed in some cases +: Added attribute InitDef to use DefParent / DefEmpty also on loading B: Popup or detail grid ignored DebugWindow and DebugTag if set in main grid B: Undo of many changes in Gantt recalculated GanttSlack many times B: Adding row or column to spanned cells range with border did not add the border to the new cells when the range was split B: When editing merged cell, the other cell values were hidden B: Column added in the right section was added always to the end C: SpanRange API method accepts now also reversed range B: Deleting last row in grid was not correctly undone +: Added NoData attribute to exclude row or column from mass changes of values B: Undo for moved or deleted row did not work correctly when the whole page was deleted B: Pivot with one item in PivotData was generated with two last header rows that were expanded together B: Firefox in quirks mode rendered body section slightly wider than fixed sections B: Menu with vertical scrollbar showed also horizontal scrollbar in Firefox B: TreeGrid without vertical scrollbar restricted page vertical scrolling by mouse wheel in Firefox B: Moving many rows fast could break down grid layout if animations were on B: Loading all child pages for printing or export could lead to not render these child parts when they were displayed B: Recalculating print dialog was slow when clicked to select all button in large grids +: Icon type accepts Range attribute to show more icons in one cell B: Safari on iOS 13 was not recognized as mobile browser C: Cfg MaxHeight is now used also on tablet, except there is page zoom (page width is wider than window width) B: Resizing grid on iPad Safari did not work in some cases B: Resizing grid did not update NoVScroll / NoHScroll if set by Media based on tag size B: Row focus cursor could be slightly misplaced after body scroll on iPad B: Close icon in menu header did not work on tablet B: Resize cursor was shown after resizing section on horizontal scrollbars in Chrome B: Custom horizontal scrollbar could permit shift through the right button in some cases in small sizes B: Selecting cells by dragging ignored TouchDragFocused C: In Format to EditFormat conversion the '' and "" are replaced now by one space instead of removed B: Entering incorrect value in Prompt could freeze grid, e.g. when entering dependency lag +: Added MomentumScroll values 5-7 to synchronize column and row sections during the momentum scroll B: Scroll in NoVScroll or NoHScroll on tablet did not add new pages / column pages in some cases B: Vertical pager on tablet could reserve space for vertical scrollbar C: Suggest menu on tablet is always scrolled with window C: EditSelect attribute was replaced and extended by EditCursor... attributes C: On iPad there is always set AbsoluteCursors to 7 to speed up scrolling +: Updated accessibility of focus cursor edge and corner on tablet B: Click to nested grid when parent grid was focused reset scroll of the parent grid in some browsers B: Outside Space row with Tag attribute was inactive on tablets B: Too narrow grid was scrolled with lag on Firefox C: Defaults and Text data sources are mirrored to nested grids, if they are not defined in the nested grid explicitly B: Scrolling master grid by mouse dragging was not possible if caught nested grid B: Vertical pager could display horizontal scrollbar in some browsers B: Fixed rows section could have set incorrect height if some cell contained rotated html value with not yet loaded img tag B: Grid cursors were incorrectly position on iPad in strict mode when body was scrolled +: Added global variable Grids.AddTryCatch to catch and alert all exceptions throws in TreeGrid code and API event handlers B: Vertical Pager had horizontal scrollbar and horizontal Pages had vertical scrollbar in Chrome on Android B: Dragging scrollbar in Chrome on Android sometimes did not scroll the grid B: Debug window was incorrectly positioned when set SafeCSS B: FilterHideParents did not update level indent when set Paging B: Calendar on tablet could be closed when touched time input or month / year B: Overlay in RTL mode did not work correctly, especially on editing C: AcceptEnters>1 on Android are switched to 1, to avoid problem when pressing Enter when editing could save only part of the value B: Dragging external tag and some other dragging features did not work on touch screen on desktop C: If closed popup menu during editing its item, the edited value is now saved C: Submenu is not closed on hover parent menu when it is in edit mode C: In tag in Parent attribute is now row with number id preferred to page B: Corrected Upload_Type Cells for RowSpan, Span, EFormula, Height. +: Updated Upload_Type Cells for moved and added rows using Level attribute. And for fixed rows. +: Updated Upload_Type Cells to work also without Index, producing standard Added / Deleted / Moved changes. B: Corrected Upload_Type Expanded, Span and Hidden values B: Was impossible to dynamically span row with only with its children in one column C: Debug io for Check data source does not print standard empty response +: Parent rows in server paging with ChildPageLength can contain pre-calculated summary function results named as col+func+pos C: If downloaded child page (created by ChildPageLength) contains function results, they are updated and used in aggregate calculations, only for sum, count and product functions B: AcceptDef and CDef attribute were not read from default row when grouping B: Dragging row inside child page (created by ChildPageLength) could incorrectly display the child page as a row B: Removed dead lock for circular CopyTo +: Input Changes tag supports summary calculation results as col+func. And accepts also root pages with the summary results. +: Added Upload_Flags "FullMoved" to upload Moved=2 rows with full attribute like Added rows +: If Moved=2 row in Changes tag in server child paging does not exist, it will add it as Added row B: If Changes tag contained both moved and added to one collapsed parent, the added row was added twice B: Animation of row with collapsed children could hide these children permanently +: NameCol can contain full name string with column names in ** +: Added FocusedTop and FocusedLeft attributes to set scroll position of focused cell set in input data B: Grid sections could display unwanted scrollbars if set NoVScroll or NoHScroll or in Firefox in 63 and older +: Added attribute ShowFocused to preserve focused cell and its scroll position after sort / filter / group / search or re-render body. Added functions SetFocused and FocusFocused to control it manually. B: Changes tag with Added row added also children of its default if defined +: Added GroupHideCols attribute to control hiding grouped columns globally B: First parameter in OnButtonListClick was not grid object +: Added ScrollToCell API method to scroll to given cell to exact position +: Added values 5 - 8 to GroupIdValue to add parent row id C: When grouping using GroupIdValue 2/4/6/8 it always sorts by id to be always the same row as the first child used in group id B: Spanned cell in main column was inactive if it was the last one in the column section B: Animation of deleting row with their children could break down the rows display +: Added NumberSort value 2 to choose number according to sorted values in every row B: PreserveReload&2 did not work for rows with ids with "$" B: Search Find could freeze grid if searching in actually focused row again B: Search Find could not mark focused cell if the row was previously marked by other search action and animations were on B: Search Select ignored ClearSelected and cleared always only visible rows, but selected rows according to the ClearSelected B: Gantt Header was broken down during changing style size B: If Message was hidden twice during ending animation, the message was not shown again +: Added IO attributes UpdateHtmlMessage and ReloadHtmlMessage to show the messages as grid message instead of browser alert B: Date Format "DDD" returned one less day B: Multiline hint was not hidden, when mouse hovered next row under the hint B: Undo edited change in Nested grid let the row colored changed B: Configuration menu higher than browser window could be displayed without vertical scrollbar when shown first time B: Export or Print menu could throw JS error when some columns were removed due RemoveUnused B: GetLastDataCol ignored fixed rows and ignored zero values C: ExportPDF_Type Data/Body now contains one more row in AutoPages if the last data row contains bottom border B: If one JSON grid failed to load, other JSON grids on page were not loaded too B: IO HtmlMessage was not shown if came from Upload_Data +: Added possibility to compile all TreeGrid required files (Defaults.xml, Text.xml, language TextXX.xml files, JSZip JavaScript file(s) and responsive CSS style files) to GridE.js to produce standalone script without a need to load anything externally. 14.1.3 B: Zoom synchronization could be broken when loading all the Gantts on start slowly B: Zoom synchronization could be broken if not set GanttSize B: Printing Gantt could split the Gantt to pages incorrectly if set GanttSize B: GanttExclude repeater "w" shifted the excluded dates if defined FirstWeekDay in language dependent Format B: Editing floating value in menu (e.g. Resources) could not be done with DecimalSeparator different than '.' B: Cell edit box in row with SpaceWrap was incorrectly placed B: Spanned cell in fixed row with ColPagingFixed=0 was not updated after added new column pages B: Cell side button was not refreshed correctly in spanned cell in row with ColPagingFixed=0 B: TreeGrid could show unwanted tag with cell content in top left corner when editing Lines type and SafeCSS was on B: Selecting text by mouse dragging did not work in edit mode in Chrome B: If set ExportCol=0 the columns were always exported, regardless on their visibility, even if set CanExport=1 or CanPrint=2 B: Cell focus could be moved in some cases when rendering new pages B: Language name in configuration menu could be incorrect B: Configuration menu could set incorrectly DefaultBorder attribute B: Gantt could be incorrectly printed when PrintGanttRound unit was wider than the printed page B: Print to PDF could trim Gantt width to MaxWidth even if printed to more pages B: Rendering new pages could slightly scroll down grid if it was not vertically scrolled at all B: xxx_Header_xxx attribute was not loaded from / tag B: In row manipulation in tree in ReversedTree could break down TreeGrid layout B: Very long TreeGrid dialog could be immediately closed after open B: Row height was exported differently to xlsx B: Gantt column MaxWidth was used also when exporting to PDF with PrintGanttSplit B: Print to PDF printed Chrome header and footer if set SafeCSS B: GanttCenter=2 did not work correctly with GanttPaging B: When recreating Pivot, it generated Formulas and CalcOrder for the old columns and caused false warning for DebugCheck B: Cell/Column attribute GMT was ignored in xlsx export 14.1 +: GridEOnDemand.js renamed to GridED.js and rewritten to download GridE.js automatically when required by API or HTML C: Reload method does not change the grid object, the grid object can be still used after Reload call +: Added KeepReload Cfg attribute to define attributes thair values will be preserved when calling Reload method +: TreeGrid function accepts as the third parameter an array of attributes to set to created grid, these attributes will be also preserved when calling Reload method +: Added API event OnInit called after initialization from TreeGrid method !: Now StrictDates is not applied to dates in input data +: OnGetGanttRunRect is called also for area selecting runs, only with vertical position, with type = 4 +: SaveAttrs can contain keywords *Col, *Row, *Fixed, *Space to save attributes of all given rows or columns +: Added attribute MenuCheck that controls if the row or column will be actually checked in Print / Export menu. Can be saved to cookies using SaveAttrs +: Added PrintConstWidth attribute to column to let the column resize for printing B: ResultMask for type Pass was incorrectly tested in Validate B: ExportPDF_Type="Changes" were uploaded according to Upload_Format +: Added Fixed flag to Upload_Type to upload only fixed rows +: Added Focused flag to Upload_Type to save only Focused, FocusedCol, FocusedPos and FocusedRect attributes B: Row RowSpan attribute was uploaded for added rows B: Attributes defined in in layout or data were overwritten by these attributes defined in Languages/TextXX.xml B: In xlsx export the cell style attributes like Align were not read from row and column C: Default vertical align in xlsx export was changed from top to center B: Rotate value in xlsx import and export was swapped (1 <-> 2) B: xlsx file could not be imported if its sheet had not set dimension +: Added attribute Protected, to protect xlsx sheet for editing and in import and export B: TextColor was not exported to xlsx correctly B: ShadowColor was exported to xlsx as shaded background but imported back as solid background B: Color attribute as "r,g,b" was incorrectly exported to xlsx +: Added raw xml cell export, if cell value is inside , the value is included to xlsx xml as is +: Added export of simple html tags like , , and style:color. B: Elapsed time was exported wrong in some cases B: Exporting xlsx that contained alignment horizontal "centerContinuous" was exported as "centercontinuous" and caused problems in some xlsx parsers like GemBox B:   was replaced in export to xlsx only once B: Row spanned cells were exported incorrectly if some of the spanned rows were not exported B: JS error in xlsx export when column span is larger than exported columns and VarHeight was specified 14.0.13 B: Relative cell references in editable formulas were not correctly updated after row and column move / delete / add B: When dragged bar in horizontally paged Gantt, the Gantt mark could exceed to other rows during dragging. Was not corrected for run move in IE and FF. C: ganttrunstart/end/duration returns empty string instead of 0 in case there is no run C: rank,rank.eq and rank.avg editable formula functions now return null in case the value is not present in the range B: AutoFill could generate JS if the filled range was greater on one side and smaller on other side than original range, could happen if filled spanned cells C: On reload the grid now finishes editing if possible, to save changes if permitted B: ChangeFilter did not filter strings correctly since 14.0.12 B: Was not possible to select text by mouse when editing cell if FocusRect was permitted B: Action GoUpEdit / GoDownEdit could freeze grid if only a few cells in grid were editable B: RemoveUnusedPages=3 did not remove not rendered but loaded pages B: RelHeight in space rows did not work in some cases B: Overlay did not work correctly if the next cell was row spanned B: Undo for deleting more rows and columns did not work correctly in some cases with animations B: Deleting more selected columns could generate JS error when no cell was focused C: Now removing row(s) and column(s) shows confirmation message regardless on ShowDeleted setting B: Undo for removing row(s) and column(s) did not work correctly B: Undone deleted column was marked red B: NoData row could be hidden for filtered grid with ReveresedTree B: Clearing filter with ReveresedTree and animations could throw JS exception B: Calendar with AutoCalendar was not hidden if set AutoUpdate and server changed edited value synchronously B: Setting and clearing ReversedTree in Menu Cfg without closing menu generated JS error after menu close B: Mouse wheel scroll was not smooth if grid (re) rendered with NoVScroll and NoHScroll and these values were changed later B: When switching visibility of more grids with MaxHeight, the body vertical scrollbar could be hidden B: GanttChartMinStart/MaxStart/MinEnd/MaxEnd were incorrectly rounded if GanttDataUnits / GanttChartRound were 1 or smaller B: Gantt flags and points were shifted when dragging B: Copying row with RowSpan broke grid layout down if EditAttrs contained RowSpan B: Indent was set from left for number and dates without Align set C: If Date Format contains only parts not suitable for editing, it is used as empty for editing B: SuggestSeparator='\n' did not work correctly for Suggest Existing in IE B: JS error in menu when leaving focus from the menu to the parent edit B: SuggestExisting background color for error was not cleared when the error was thrown more times fast B: JS error for Suggest Existing and SuggestSeparator for entered the second and next items B: With SuggestSeparator, if edited value contained more empty items, the chosen Suggest items from menu were placed one by one B: When choosing File increased row height, the grid layout was not updated B: When dynamic spanning range led to splitting other range in tree, undo / redo could break down the layout B: If set Cfg ScrollTop or set Cfg Focused to page and also NoHScroll in server root paging, there was always loaded also the first page B: EditMask permitted clearing the cell when chosed Exclude from popup menu without pressing any key first B: Hiding main col with FastColumns=1 and child paging broke layout B: Mouse wheel scrolled choppy master grid when mouse was above detail grid with NoVScroll B: JS error when dragging row to not expanded parent and animations were on B: Occasional JS error in animations when animating spanned cells B: If pasted cell range with editable formulas to end of grid, AutoPages did not take effect when updating the source range in the formulas B: Redo could fail for Added row if set GroupChangeMoved B: Redo could show hidden row when added by GanttRunSummary B: Dragging GanttRun Start box to the MinStart constraint wrongly used the constraint 14.0.12 B: GetGanttResourceCount returned incorrect results for ranges before the first resource date B: Some actions for border were available also for not editable cells in testing mode B: Sorting actions worked for column with CanSort='0' B: StringToDate global function did not work without loaded any grid B: ChangeFilter had problems if Date type cell was entered by string +: CSS / DialogCSS / GanttCSS can be set to "*" to not load the style at all - if included in the page directly B: Number Format "0" did not work for editing B: Minus was not shown when editing formatted negative number B: Entering "Date" to Auto type column entered mangled text 14.0.11 B: Editing number with Format divider (comma after digit) divided the edited value by 1000 B: EditFormat was ignored when edited numbers +: Added EditPercent attribute to for backward compatibility, if set, entered number without % in percentage number Format is used as percentage instead of floating point number B: If set GanttRoundUnits the dependencies were not connected to the main bars edges +: Added Bool values 2 and 3 to JSON menu for three values Bool (0,1,"") and parent child relation in Bool in Levels B: Some rows could be missing when importing xlsx sheets where the row id was the last attribute B: GetIncorrectDependencies were not work correctly with custom calendars B: Printing nested grids shown in different column than main did not work B: Collapsing all rows generated more OnFocus API events if collapsed focused row B: AutoUpdate did not work for changes in Gantt chart C: Exported CSV now contain the UTF8 prefix EFBBBF B: Exported CSV incorrectly coded some high Unicode characters, e.g. the Filter not equal B: Importing XLSX files containing cells with text attributes for empty text failed B: Cfg MaxHeight resized grid by 22px less B: In Safari on Mac Copy and Paste function started editing B: Two letters formats were not exported B: Not exportable spanned cell was exported as not spanned B: Horizontal scrollbars could be hidden in rare cases in small grid +: Added Rotate attribute to xlsx import and export 14.0.10 +: Added GanttUnits w0 (week starting by Sunday), w1 (as Monday), w6 (as Saturday) !: GanttUnits 'w' behaves as w0, w1 or w6 according to the FirstWeekDay value 0,1 or 6 B: Gantt pager was not updated if changed Gantt zoom that reset some pager attributes C: Empty Gantt header (Header cell without GanttHeaderX assigned) gets GanttHeaderEmpty instead of GanttHeader CSS class B: TreeGrid sometimes failed to load on slow connection with message that CSS styles cannot be loaded, if there were synchronized grids on page +: Added new two letters date formats for easy translations to other languages. Now the two letter format can be used without ** in Format if standalone +: Date can be edited also with comma separated year B: Month and year in popup calendar was displayed as NaN if set ExcelDates B: SetGanttRunBox did not set Duration in box returned by GetGanttRunBox B: Cfg Size was not correctly applied if set in Media C: If set Scale, Size or column width or visibility in some Media and user changed the value, the value was returned to the original state after any media apply B: If edited value 0 with percentage Format, the % was missing if started editing by F2 or mouse click +: Added Tip attribute to language tag B: Pager header height synchronization with header height did not check the pager padding/padding/border correctly B: Border bottom the grid was not shown in some styles and some grid configuration B: External reference to another sheet in edit formula could not be resolved if the referred sheet had more rows or columns that actual sheet loaded and formula referred such outer cell B: External reference to another sheet in edit formula could not be resolved if the sheet name was not in Latin coding and was not in quotes 14.0 Gantt +: Added OnCanSelectGanttRun API to choose which run and run container can be selected dynamically B: GanttRoundUnits=1 did not work for main bar B: In server paging and RemoveUnused the page could be removed during selecting run rect and caused JS error B: Gantt style by GanttStyle and GanttCSS threw JS error if the new style was not defined in Styles B: GanttBackground repeated by months or years was always repeated from given date only +: Sync "zoom" is now applied also for GanttSize = 0 / "" and also for zoom undo B: GanttRunContainerSelect='*' did not work correctly B: GanttRun container was incorrectly hovered if was not rendered the whole due Gantt paging +: Added GanttRun Tip/Text keywords *TextInside*, *TextLeft*, *TextRight*, *Tip* to show particular text of the box B: Selecting run rect by mouse did not work if finished in not yet loaded page +: Added API method ExtendGantt to display next or previous Gantt dates B: End constraints with GanttLastUnit could be used incorrectly by the last unit B: Gantt dependencies were not updated if added or moved task between the lines by AddDataFromServer B: Posssible JS error when sorting runs with two edges on the end B: GanttZoomDate was not uploaded in Settings type causing printing to PDF different part of Gantt B: GanttWidth was uploaded in Settings with actual value, not divided by style size modifier C: Gantt printed with PrintVisible is rounded to GanttPrintRound !: Auto corrects dependencies if set CorrectDependencies after editing GanttDescendants or GanttAncestors. Never fixes the bars in the edited row. +: Added GanttCorrectDependenciesCreate to change value of GanttCorrectDependenciesFixed when creating new dependency by dragging to fix ancestor, descendant or none B: GanttContainer was incorrectly identified for API if all its boxes were outside visible range C: Updated GanttSizeFit behavior C: Restyled Gantt dependencies to be correctly visible in small zoom and in pdf B: UndoZoom action could navigate to different date range than the original one B: Gantt run on FastGantt with None / Void / Html class could have temporary decreased width during sliding B: Run boxes were not shifted correctly for joined boxes shifted by display B: The grid remained disabled after deleting dependency if set GanttCorrectDependencies to 2 Grid +: Added server paging in child pages - to download only part of row's immediate children. Added ChildPageLength to specify size of the server page. +: Added Expanded value 3 to show row children also if the row itself is hidden by Visible='0' +: Added CanExpand value 3 to expand the row to value 3 to show row children also if the row itself is hidden +: Added attribute HideParents to hide parents without hiding their children by setting Expanded to 2/3 +: Added editing percent numbers. If number Format contains "%", the percent is shown for initial editing and number can be entered with it as percentage or without it as absolute. +: Added page count attribute to be used instead of Count for count() summary function +: Added type attribute to rank, median, mode, avedev, stdev, stdevp, vara, varp +: Added attribute PreserveReload to restore rows' Expanded and Selected state after reload body, especially in server paging. B: False debug warning about unexpected U tag when used DTD format for fixed or space row B: Value '0' in filter cell was not displayed B: ExpandAll could not expand not loaded rows in server paging when they were not displayed in actual window C: References to JavaScript global variable were prefixed by TG in case of global name conflict with other script, to avoid such conflicts +: Added API event OnEndedDrag called after row is dropped and data are changed B: In ChildParts with ColPaging the grid could break down on filtering, when hide some childparts, but not the last +: Added attributes CellDef and AddColCellDef to predefine attributes for more row cells at once C: EnumMenu can contain only menu settings without Items to be the Items generated automatically B: Grid did not loose focus when selected text by dragging in outside input and the dragging finished outside the input, in IE and Chrome B: ColPaging and ChildParts together could not work correctly when refreshing Gantt chart +: Added PrintFromPage and PrintToPage attributes to print only given page range and OnPrintEmpty to found out when the range is empty +: Extended LoadPage API method to load and render also children and added callback method B: Firefox incorrectly rendered section narrower than 50px B: Header cell number Type was not correctly updated on load B: GetString always used EditFormat for dates and numbers B: EditFormat for elapsed time did not work +: Added value 3 to CalculatedChanges to set the calculated cell as changes also on first time if it was null B: AddDataFromServer did not update parent Def by DefEmpty when deleting row B: Gantt was not printed correctly if the GanttUnits or GanttPrintRound units were too big regarding to printed width B: Space cell with RelWidth and Width='-1' could increase the row height B: Grid MaxHeight did not work correctly in MS Edge +: Added support for deep nested master/detail grids, including server paging +: Actions for adding or copying rows now work in nested grid if called in master grid and the nested grid was focused. C: Now always calculates height of fixed rows when printing to PDF to correctly calculate the page height C: Now when copying row without children that has Def with children, it creates the default children B: Print to PDF did not page correctly with SafeCSS B: Firefox could print Gantt header incorrectly B: Possible JS error when Range Enum contained one number value C: In PrintLoad now loads pages before applied Changes tag, if any +: Added parameters PrintPageWidth and PrintPageHeight in ExportPDF request +: Updated row height calculation for printing and print to PDF, including space rows and spanned cells B: Printed number of vertical page was increased by 1 +: Extended PrintTreeGrid function for various parameters for printing to PDF B: JS error in Chrome sometimes on tab when editing B: Error in Edge for cell span > 1000 C: WordWrap is now applied also for editing +: Added attribute WrapEdit to change Wrap for editing B: OnGetExportValue could not return undefined to ignore its result B: Spanned cells in hidden column were exported incorrectly B: covar formula function thrown JS error if called with one argument B: Checking pasted value to indexed Enum without EnumKeys was wrong B: Moving rows between nested or master grids did not work correctly B: Undo for adding and deleting rows in nested grid did not work correctly C: UploadType cfg,body,data,all,other,cols do not upload internal attributes for given tags +: UploadType now can upload completely all TreeGrid definition to serialize actual data to xml or json B: Defaults menu in space cell was not shown in some cases if defined for cell that was not column name +: Added action CloseDialog to close actul grid dialog !: Now it is not possible to drag rows between grids with different SyncId except if set Dropping=2 +: Added value 2 to DropFixed and set as default value to permit dropping rows to empty grid, to the NoData fixed row +: Added attribute AddFocusColEmpty to focus given column in added row if there was not focused any cell B: JS error if OnGetSortValue returned number B: Pager width was not recovered if it was reduced due small available space after the available space increased +: Added suffixed "f","s","fc" and "sc" to the cell menu items to show the item only if focused / selected rows/columns were not also active +: Added values 2,3,4 to CopyPasteRows to copy rows to clipboard with reference to the source rows to paste them back to the grid +: Added attribute PasteErrors to control EditErrors for pasting. Default value is 1 to not show EditErrors when pasting whole rows. +: Added attribute PrintSplitRowSpan to restrict splitting rows with row spanned cells to more pages when printing +: Added attribute PrintAllCSS to add all style sheets from source page to the print page B: ExtentErr message was not shown when grid was re-rendered, e.g. after changing style size B: Row spanned cell could have doubled or missing border B: Spanned cell starting in hidden column with Hidden=1 lost its padding B: TreeGrid with side pager was not rendered in IE10 and older in some cases B: Not wrap able cells could be wrapped in IE10 and older in strict mode B: In Chrome in zoom!=100% grid could scroll a few pixels behind right edge and the last part was inactive B: Vertical scroll of the column sections could be desynchronized after some actions +: Text_Url and Defaults_Url can be set to empty string to ignore the data source +: Added attribute SyncStyle to synchronize styles among grids and use Sync/SyncId for another synchronization with different grids +: SVG images are pre-fetched in IE/Edge using IESvg* attributes, to avoid not displaying SVG images in case it is rendered to invisible tag on first time B: Custom column with ConstWidth=1 did not behave correctly B: Link and Img types were not correctly copied & pasted B: Shrinking main column by dragging could break down the column display in some cases +: Enum and Defaults menus are now aligned to the cell side where is the button / icon displayed +: Enum, Defaults and Suggest menus align their text according to the cell text align (Align / Type) +: Added Align attribute to JSON menu item and ItemAlign attribute to JSON menu to control text align of the items B: Popup menu could not be easily controlled if was wider than browser body +: If set ExportType to Expanded and Selected it exports the selected rows with all their children +: If set PrintSelected and PrintExpanded it prints the selected rows with all their children C: If exported selected rows only, they are not colored yellow B: Only up to 676 columns could be exported to xlsx B: On tablet it could immediately hide keyboard after started editing in some layouts B: Nested grid displayed tooltips at wrong place B: TabStop could generate Debug message for JS error in some cases B: PrintHeight was taken as fixed, not as minimal height B: Row height could be calculated incorrectly for PrintVarHeight in main column +: Added attributes and API for translations displayed texts to other languages +: Added attributes to switch between languages without reloading the grid. The language can be also saved to cookies. +: Added reference by asterisks for predefined date and number format in Format string, the predefined formats now can have more characters than one +: Added date format CalendarMonth to format displayed year and month in popup calendar B: Elapsed time format was shifted by time zone for GMT=0 +: GetDefaultValue and GetDefaultsIndex work now also for Range cells +: Added FilterDef and FilterDefs attributes and OnFilterOperator API event to specify or let users choose which rows will be affects by which filter +: Added attribute ColorFilter to color rows that fulfill the filter condition +: Added attribute FilterHideParents to permit filter to hide parents without hiding children (using Expanded = 2/3) C: Updated filter algorithm to distinguish between rows that fulfill filter and rows that cannot be filtered, including using OnRowFilter +: Added FilterOffText attribute to specify menu text for FilterOff in Enum B: Filter did not work correctly if filtered according to values affected by filter B: SetFilter did not use correctly cell CanFilter attribute +: Added flag complete to Upload_Type as substitution for other flags to serialize the whole grid B: Dates dialog buttons were incorrectly styled B: Space cells could be partially inactive if shown pagers on the left of the row B: Pager tip ignored LF +: Added OnGetPagerCaption API event to generate pager caption dynamically +: Added value 3 to NoColor to not color the cell permissions B: Automatic DefaultSort column was displayed in Export and Print menu B: Html type did not use Format in some cases !: Default definition of StrictNumbers, StrictDates, GMT, DateFormatLowercase, EditFormats, Colors was moved from Text.xml to Defaults.xml +: Added CSVDateFormat attribute to specify format of all dates exported to CSV B: DetailTreeGrid was ignored when loaded not yet rendered nested grid for printing B: Row height with not yet rendered nested grid was incorrectly calculated for printing C: Cell menu for too high cell is displayed directly under mouse B: Navigating to page in FastPages could navigate to incorrect page C: Now grid asks before downloading all pages synchronously for printing B: In pivot negative numbers were summed as strings by default +: Added value 2 to PrintConstWidth to resize last column in section when printing to better print spanned cells B: Height of spanned cell in hidden main column was calculated incorrectly for printing C: DPI can be changed in print menu even if PDFFitPage item is displayed and is none B: PrintLocation=4 did not work correctly +: PDFFitPage is used also when printing to PDF on server to calculate DPI, because in server paging the DPI could be calculated on client correctly B: Resize icon was incorrectly positioned in scaled grid C: Prefix in CSS for MS Edge changed from WK to IE B: For CenterMessage=2 grid was disabled after changing style +: Sped up rows height calculation, the algorithm is much faster if grid has many rows with different calculated height B: Row section heights could be different in rows if the final heights were the same +: Added attribute Added to control adding rows with id already used in grid B: Enum header did not use TextSize and TextStyle attributes B: CopyPasteRows and CopyPasteTree did not work together +: Added ExpandAllRender attribute to speed up expanding many rows by rendering the whole body +: tag can update row Height B: did not work when passed in data on loading grid B: Span and RowSpan attributes in tag were ignored in some cases B: Row ids were incorrectly updated in FullId when moved rows between detail grids B: False alarm for Upload_Type "resized" B: NaN values were uploaded as changed always B: For Cells Upload_Type = Cells, Selected or Resized were selected or resized rows uploaded twice +: Added attribute CopyPasteDeleted to restrict copying and pasting deleted rows and columns +: Added attribute PasteNaN to restrict pasting unsuitable values B: Changes were uploaded before export for ExportPDF_Type="cells" B: Hint could be displayed through nested grid +: Updated styles for printed grids B: Rows with deep tree were printed too high in Chrome and compatible styles B: Row NewId was incorrectly set in if set IdNames and FullId and parent id and child were changed at once +: Added RadioWrap attribute to restrict wrapping in Radio Type cells !: Added values 4 and 5 to ShowHint and set 4 as default to precisely (but slower) calculate if the hint should be shown B: SwitchPivotGrid did not recalculate scroll limits +: Added UpdateLimitScroll to manually clear scroll limits +: Added Button and Icon "Empty" value to show icon without image B: Calculated cell was sometimes not updated, if calculated without rendering and next time resulted the same value +: Added $ to number Format to display actual Currency string B: Grid scrollbars sometimes were not correctly updated if used FastPages with ChildParts or MaxPages with variable rows height B: If printed selected rows, the fit page dpi was calculated incorrectly B: Xlsx export exported incorrect file if set comma in number Format in negative part B: Moving row with CopyTo was saved to undo in more blocks +: Increased limit for PageLengthDiv from 1.3M to 17M pixels, with ColPaging only to 5M. To void scrollbar shifts with PageLengthDiv. B: Sometimes grid could not vertically scroll to exact end in very large grids B: Chrome sometimes printed some row higher C: Month names in Calendar are now read from LongMonthNames2 instead of LongMonthNames B: Hint was incorrectly sized in scaled grid B: PrintLocation=4 did not work correctly in some page layouts B: Rounded corners in compatible styles were incorrectly scaled +: In JSON format can be set more the same root tags by using suffix after "_" +: Added row VarHeight attribute to not calculate the row height with PrintVarHeight Sheet +: Added attribute ImportExt to specify file extensions that can be imported to grid +: Added OnImportText API event for custom import of text files (e.g. csv) to grid +: Added ExportType attribute "nocolor" to not export background colors B: Wrong message text was shown in Import action for action 5 B: Editing tab did not work correctly B: Empty string in Auto type was converted to 0 on loading B: DefaultBorder was not correctly saved to xlsx in some cases +: Added ExactNumbers attribute for Auto Type, to preserve number strings exactly as strings B: Entering 3 or 4 digits number prefixed with ' to Auto Type lead to big incorrect number B: Some sheet could not be imported with error Parsing xlsx sheet failed with error -4! Error message:TypeError: Cannot read property '...' of undefined B: Export to csv incorrectly exported non English UTF8 characters B: Cell borders were not shown for cells with Overlay in MS Edge B: Auto fill did not work correctly when expanded the only spanned cell +: Editing cell with overlay extends the editing width to the next cells +: Added 4. bit to column Overlay to overlay also wrapped cells +: Cell background Color set as rgb(r,g,b) is exported to xlsx C: Sheet names in editable formulas in external references now can be case insensitive B: Pressing Defaults in configuration menu throw JS error for AutoCols / ColPaging B: Frozen rows could be doubled when switching between sheets B: ColSpan was not copied / auto filled if set in data without RowSpan B: Deleting active sheet could break down the grid, if it referred another sheet in its formulas B: multinomial function had typo as multinominal B: Entering time if ExcelDates set entered time in today's date Menu !: Styles for dialogs, menus and messages were separated from Grid.css to Dialog.css. Only in responsive CSS styles. Added Cfg attribute DialogCSS to specify the path to the Dialog.css +: Added attribute Horz to display JSON menu horizontally as toolbar +: Added attributes HText and VText to display different menu item text when menu displayed horizontally +: Added flag None to Align to not automatically position JSON menu +: Added API event to JSON menu OnMoved called when a user drags the menu to new position +: Added tooltip (Tip attribute) to JSON menu items +: Added IgnoreEnter attribute to JSON menu to not use Enter to accept focused item +: Added AutoColumns attribute to automatically split JSON menu to columns +: Menu item with name encapsulated by - (as "-xxx-") is displayed as caption +: Added menu attributes ClassName and ClassValue to set CSS class according to the menu Name or Value +: Added TipXXX menu attribute to display tip for specific menu item value +: Added menu item Enum type Range attribute to permit selecting more values in the Enum item +: Added Menu attribute with Enum attribute to display Enum type without value as popup menu, but still update the chosen value C: Updated animations for TMenu submenu and enum menu Rtl B: Grid in frame in Chrome was incorrectly placed if not shown scrollbars B: Too wide dialog was not correctly positioned B: Time part was not displayed in Hirji dates if Format was not set B: count of days/hours/minutes/seconds was incorrectly calculated in Hirji for ExcelDates B: Hirji dates were incorrectly edited in some cases C: Rtl attribute is uploaded in "settings" Upload_Type B: Custom Panel buttons were not handled correctly B: In Chrome and NoHScroll grid was continuously reduced by 1px B: Enum header was not right aligned B: Digits were not converted in menu enum C: EditFormula is always edited in Ltr and without replaced Digits B: Menu Enums were not placed left in Rtl B: Digits were not updated for EditMask / ResultMask, so they did not work with Digits 13.3.13 B: GanttDependency id could not end with SSxxx/SFxxx/FSxxx/FFxxx, where xxx are digits B: GanttDependency was not correctly updated for children if deleting parent row B: When dragging run to another Gantt, the auto scroll could persist in source grid if started B: Gantt run container could be incorrectly hovered if was not displayed the whole B: Action EditGanttRun did not work B: Loading filter from configuration could change the filter row id if the "id" column was defined B: CopyTo could throw JS error when applied to root row B: Undo / Redo was not working without CalcEdit SpreadSheet module B: Auto Type cells did not correctly distinguish between empty and 0 on loading data B: AddCol sometimes did not set WidthPad if defined in style B: False warning debug message when used tags in fixed row definition B: Empty string to filter by could cause incorrect filter results B: Editable formulas were not correctly recalculated after moving row in sheet B: Unused pages could be removed during dragging and caused JS error B: After filtering grid and showing rows could be the layout broken if animated 13.3.12 B: Gantt was not rendered if initial zoom led to too narrow Gantt even if used zoom fit option B: Expand / collapse more rows could break down grid layout in some cases in Firefox when set animations B: Suggest with SuggestServer reset input cursor in IE11 B: Filter on/off panel button was not updated when set Paging and animations B: When resizing column hide horizontal scrollbar and custom scrollbars were on, the grid layout could be slightly broken down 13.3.11 B: Moving column with not rendered child part failed with JS error B: If Page_Url contained *id, it was incorrectly replaced in IE if the row id contained string "$0" +: Added API event OnDataParse called before the OnDataGet to parse not XML data B: Detail grid could be incorrectly refreshed if used Paging 13.3 Gantt B: Updated scheduling algorithm for correcting tasks in different calendars, especially milestones +: Added attribute GanttCorrectExclude to use updated scheduling algorithm for milestones also on same calendars +: Added attribute GanttDifferMilestones to not differ between start and end milestones on edges of excluded dates +: Added attribute GanttEditSoleDuration to permit entering task duration if neither start nor end date is set B: Moving task by entering start date could move the task outside its end constraints even if GanttCheck was active in some exclude settings B: Head row with Gantt caused not refreshing Gantt lines (especially GanttBase and GanttFinish) B: GanttCenter worked wrong if the item dates were not rounded to GanttUnits. C: GanttCenter is now disabled for GanttUnits months and years B: Dependency lag could be shown very wide if it was too narrow B: Gantt popup menu was displaced if set Scale B: Automatically calculated GanttBase and GanttFinish were not recalculated in some cases +: Copy and paste in Gantt chart with dependencies now works also via clipboard (CopyPasteInternal=0) if defined and copied "id" named column B: Dependencies were not deleted for deleted tasks when uploaded to server if set GanttDeletedDependencies. B: Dependency line was not hovered if went through row with not editable task C: GanttDeleteDependencies is set if set AutoUpdate C: If Gantt background units exceed the GanttBackgroundMaxUnits, now no debug message is displayed, but background is displayed more slurry B: Moving Gantt run was incorrectly checked when moving on touch screen B: Dragging in Gantt was wrong when used ScrollColOnDrag B: Exclude was wrong if GanttExclude did not finish by semicolon and GanttInclude was defined B: GanttMenu was incorrectly position when Scale was set B: If set GanttSizeFit but not GanttSize, the zoom outside defined dates was not possible +: Added attribute GanttZoomUndo to Gantt column and ZoomUndo to pager to specify what will be included in zoom undo !: Dragging with action SelectRun is disabled when no GanttRun is defined or no row is selected B: GanttBackground was max 5000px high in compatible styles B: Dependencies were incorrectly hovered and visually dragged with Scale set B: Main bar side icons were not active B: Dragging selected run containers dragged only one container Print +: If set PrintPaddingHeight=0 and set PrintPagePrefix and / or PrintPagePostfix, the PrintPaddingHeight is calculated accordingly B: Printing could print more grid pages in one B: If not defined PrintPagePrefix and PrintPagePostfix, the row height for PrintVarHeight was not calculated B: PrintGanttBackground values 2 and 4 did not work correctly in Chrome +: Added value 2 to NoPrintTreeLines to be set only for Chrome/Safari B: Chrome could print blank pages if the grid page was very huge B: Printing tree in Chrome could print some rows higher and break page B: Printing to PDF could break pages due body padding +: Added VarHeightType attribute to speed up calculating row height in PrintVarHeight Rtl B: Actions on focused rectangle in RTL could throw JS error B: Cell Border was shown incorrectly for spanned cells in RTL B: Setting outside Border for more cells could be set incorrectly in RTL B: Horizontal scrolling work incorrectly on tablets in RTL B: Adding column pages on scroll work incorrectly in RTL B: In RTL cell corner was hidden on right side overflow instead of left B: In RTL the grid was shifted by style LastBorderRight B: FastPanel in Rtl did not work correctly B: Dependencies were not accessible in Rtl and NoHScroll B: Centered message was displaced in IE and horizontal body scroll B: RTL did not work correctly in MS Edge B: Side text in RTL were not calculated in Gantt width for first time B: RTL mode was not identified if dir=rtl was set in other tag than B: RTL did not scroll correctly on Android and touchscreens with Chrome Grid +: Extended StrictDates attribute to lang, added bits 2,3,4 for entering dates as numbers without separators and with month names +: Added InputMonthNames attribute to lang to define month names for editing. +: Added InputAMPMDesignators attribute to lang to define AM and PM names for editing. +: Added InputDateTimeSeparators to define separators between date and time for editing. +: Added StrictNumbers attribute to lang to restrict entering incorrect numbers at all !: Added EditFormats attribute to lang to define conversion of standard formats for editing, by default it is empty to not do any conversion unlike previous version +: Added conditional format in [] to date Format +: Added attributes AcceptNaN, AcceptNaNValue, AcceptNaNText and AcceptNaNTime to control entering incorrect value while editing date or number cell +: Added WordWrap attribute to let wrapping also long words in wrapped cells !: If not defined EditFormat for Date cell, it used Format attribute instead. For original behavior add EditFormat="" to Def "C". B: Dragging space row threw JS error if permitted focusing rect B: JS error when focused row in rectangle was not rendered B: TreeGrid height could be incorrectly calculated when shrunk main tag B: Operator % in editable formula multiplied by 100 instead of dividing C: If column or row MenuName is set to empty string, the column or row is not displayed in any menu (cfg,print,export) B: Grid with page could break its layout in IE7 B: Menu for Space row with Space=-1 or 5 could be displaced if set Scale B: Entering formula in xlsx with cell range as Cxx:Cxx was incorrect B: Pasting formulas addressing existing column but not existing row could be incorrect B: Copy and paste formula to another sheet could throw JS error in some cases C: Functions like vlookup/hlookup returned different results than MS Excel for cells with value 0 B: 4th parameter value 1 in vlookup/hlookup function was used incorrectly B: Undo did not work for auto filling cells containing formulas B: Undo did not work for moving more selected columns B: Removing MaxChildren pages with focus could throw JS error +: Added API event OnCreateCPage called when creating MaxChildren page B: Pasting to Auto type cell could set incorrectly formatted value B: JS error when set Paging='2' ColPaging='2' ChildParts='2' and there was hidden row before the last row in some child part and the grid body was rerendered +: Added CopyPasteHidden attribute to copy and paste hidden rows and columns, especially in Sheet B: Copying to clipboard focused range of fixed and variable rows threw JS error B: Pasting new rows in tree could break down grid layout if animations were on B: CopyPasteTree did not work with PasteFocused values 30,31,32 B: Space row with Space = -1 and 5 could not be hidden if set Scale B: Grid could be higher than its main tag if set Scale in Chrome B: If user changed TextSize, Indent or Wrap, the row height was not updated correctly +: Added CopyPasteTree value 4 to preserve tree structure, but not copy/paste any extra child rows +: Added method LoadSheetHidden to load other sheets in xlsx and not show them to e.g. upload all sheets in xml/json B: PasteFocused 5,6,7,8 could not paste to empty grid B: Row cursor could be narrow if set NoHScroll B: Circular reference for editable formula was not alerted in some cases +: Added values 7 and 8 to FormulaCircular to continue editing B: Animations were not stopped when removed pages and could break down grid layout B: Reload did not clear message in timeout B: JS error when started editing row being deleted and animated +: Added attribute CopyFormulas to copy & paste only cell values B: ColPaging did not work correctly if set Scale in Chrome B: Undo did not recalculate edit formulas after cell change +: Added attribute Cfg ResetNextBorders to reset also the next and bottom cell borders when setting cell borders B: ExpandAll in server child paging did not load and expand all visible rows if set ChildPartMin=0 B: Undo did not work correctly with changing dynamic border in some cases B: If using Paging=3 and MaxVScroll, changing Filter operator sometimes did not load new filtered set of rows C: If pasted new rows to end of grid, the pasted rows are scrolled into view !: ExpandAll method now expands also the parent row, not only its children, if called for row and not for page B: Pages were not rendered correctly if set Scale and NoVScroll. Also ColPages for Scale and NoHScroll. B: Data_Method was not set to Post by default for Paging='3' B: Firefox if changed style Size could show Hint incorrectly B: RowIndexWidth was updated according to style Size B: Resize cursor was shown for pager header B: Hint was immediately hidden in solid row Space=-1 and 5 B: LimitScroll was not cleared in some cases B: Space row cells were not correctly resized by CSS style SpaceWidth B: Pager width was not correctly resized by CSS style Width B: With Undo=32, moved row saved and undone and redone was not uploaded as moved B: Editable formulas were not correctly updated if pasted to new rows !: If set PasteFocused values 11 and 12 and focused rect contains the last row in grid and the pasted range is bigger, it adds new rows B: Grid did not lose focus when selected text in outside input by mouse dragging the text outside, in IE and Chrome B: JS error when the whole spanned cell was hidden and the outside range was spanned and DynamicBorder was set +: Added cell attribute Rtl to set text direction for given cell 13.2 Gantt B: GanttRunAdjust="Slip,Between" could join boxes B: Using GanttRun container could freeze the grid if the boxes were not sorted in it B: Entering duration with only End date set shifted the End date instead of Start date +: Added GanttSmoothZoom value 3 to restrict zooming outside first and last zoom level also for zoom fit +: Added GanttCenter attribute to horizontally center milestones, flags and points in the same way B: GanttCorrectDependenciesFixed was not used for the first main bar plan when changing the Start / End date in the cell B: Dragging boxes in GanttRun containers was buggy in Gantt paging B: Edge boxes in containers were counted in Gantt menu items for deleting and disabling boxes in container B: All boxes could not be deleted in container from Gantt menu B: Zooming in Gantt did not work correctly in Rtl and Gantt paging !: Added attribute GanttPagingUpdateHeight, for 1 (default) it calculates row height from all run boxes. For 0 it calculates from only boxes in Gantt page (original behavior in 13.1) +: Added attribute GanttLagDescendants to schedule dependency lag as negative delay of descendant task instead of delay of ancestor task - useful if the task have different calendars B: If set GanttIncorrectDependencies=1 GanttStrict=1 GanttDirection=0 and moved task dependent on other task with different calendar, an error occurred B: If set GanttRunContainersSelect to one container type or level, there could be selected all containers in a row when selecting container Export B: Export_Type="Export" did not send the exported data to server correctly in Base64 +: Added Format color as [colorXX] for compatibility with MS Excel B: ExportFormat was not read from column B: JS error when exporting to Excel without any explicit setting B: Hidden columns were exported to xlsx always C: Dates in GMT='0' are now exported to xlsx as GMT values in actual timezone B: Exporting fixed rows and columns to xlsx did not work Print B: Printing grid to PDF could throw JS error if used multiline cells B: Nested grids were not printed B: If printed by menu with PrintLocation=2, the menu could be printed too B: Gantt boxes were not printed in IE if set PrintGanttBackground B: Printing Gantt to PDF was very slow !: Added PrintGanttBackground values 3 and 4. For 1 and 2 is now printed on the grid background and 3 and 4 to row background. Default value changed to 1. !: Added attribute PrintGanttRowHeight to set smaller height of Gantt objects when printing (default set to 50, in previous version it was 5000) B: Gantt printed to PDF could be very slow B: Printed Space rows were incompletely styled B: Printed RelWidth Space cells could have zero length B: Progress message could be printed in some cases with the server paged grid B: Printing could generate added empty pages B: Printing in Chrome and FF run twice stopped working for PrintLocation=0 B: PrintLocation=3 did not preserve grid scroll position +: Added PrintLocation value 4 to print to the actual page like 3, but more safe B: WKHtmlToPdf could print empty grid in some cases, especially when set fit to one page Rtl B: In RTL, vertical dragging lines in Gantt were incorrectly placed if set Scale!=1 B: In RTL, messages were incorrectly positioned B: In RTL, focus corner were incorrectly placed B: In Rtl, grid could be broken down if vertical scrollbar was hidden dynamically B: Changing cell Border dynamically did not work in RTL B: Filling cells did not work in RTL B: Scroll action was reversed in RTL B: Copy & paste of focused range did not work in RTL Grid +: Added Cfg TipDialog attribute to change default setting for all tips, in JSON format B: Cells with value '-' could not be shown in Defaults list with *Rows B: Adding more rows fast could place the next rows in incorrect position if animations were on B: If the only page in server paging got no visible rows, grid froze B: Nested Gantt in master grid did not show B: JS error when called ReloadPage for row's children B: JS error in ReloadPage when reloaded page with focused row !: Added WheelFixed attribute to permit scrolling grid body by mouse wheel also if mouse is above another grid section. It is on by default for behavior like in 12.x version B: Scrolling side pager by mouse wheel did not work in some cases B: Column widths were uploaded scaled according to actual style Size value B: Hint ignored DynamicStyle cell attributes B: DropCols groups ignored their width limits and had always the same width B: Rounded corners in compatible styles were not displayed in Chrome 62+ B: Changing Scale did not update row heights B: Row heights in grid with Scale!=1 were calculated incorrectly (scaled) in some cases B: In IE9 and below some dialogs did not save their changes if animations were on B: In IE9 and below the inplace edit could be in wrong position for default relative cursors B: In IE9 and below the width of main column was calculated too narrow +: Added parameter rows to CalcWidth to calculate column width according to the given array rows B: Showing not rendered column ignored cell DynamicStyle attributes !: Zero value date is now uploaded formatted like other date values B: Space rows with Space =-1 and 5 were inactive in scaled grid in some cases B: EditFormat and SuggestSeparator were ignored when used Validate for Suggest Existing B: MessageTime was not hidden by HideMessage if called immediately after the ShowMessageTime B: External scale was ignored if grid contained only one column section B: Changing AllPages dynamically from cfg menu could make the grid inactive B: Grid style could be shrunk if grid was temporary hidden due extent error B: ShrinkStyle worked incorrectly for external scale B: Scaled grid centered in main tag could be positioned incorrectly B: Style Size and Scale were not synchronized correctly in Sync='style' B: Nested grid was scaled twice if master grid had set Scale B: Updating cells Overlay could freeze grid in some cases B: Date formats with months as 'm' and also minutes were applied incorrectly B: Animating adding row in Firefox could break down the grid layout for a while B: Menu columns/print/export did not work in IE7 with some count of columns B: Adding row in Firefox could break down grid layout in some cases when animations were on +: Added focus, select and cell mass cell changes of fixed rows and ranges of fixed and variable rows together +: Iterating rows API - GetNext/GetPrev/GetNextVisible/GetPrevVisible - now can iterate also fixed rows B: Using Digits did not work with editable formulas B: Number Tip could cause JS error B: Icon type cell with Visible='0' showed the icon and duplicated B: DropCols type items could be shifted for their space +: Added column MaxWidth attribute to limit column resizing by users B: Hiding vertical scrollbar could break down right pagers in Chrome B: Auto filling cells with JSON format could throw JS error for number values B: Popup dialog in Space row -1 in scaled grid was incorrectly positioned Other +: Updated GridEOnDemand.js script to be called more times to load more grids in one page during script loading B: Trial package did not contain 64bit TreeGrid.dll library 13.1.8 B: Gantt chart was not refreshed correctly in calculated fixed summary rows B: Resize icon was not visible in Chrome, if it was displayed on vertical scrollbar B: GetRowByIndex and GetColByIndex returned wrong item for character indexes longer than one character +: Added methods AddAutoPages and AddAutoColPages B: GanttPoint was centered incorrectly B: Click to custom panel icon was shifted for the panel left padding B: Dispose() could generate JS error B: Components without Extended API and without Sheet generated warnings for missing GetAttribute B: Print to PDF could generate empty page on end with only header in some cases with variable row height B: Print to PDF did not work correctly since 13.1.6 13.1.7 B: Grid resize icon was incorrectly positioned for Scale<1 B: Popup dialog from Space row with Space=5 was incorrectly positioned for Scale!=1 B: Restoring default configuration changed column widths incorrectly if changing style Size B: Restoring default configuration did render twice if changing Size or Style B: Restoring default configuration did not synchronize other grids with SyncId B: If set ExportType Outline and not Expanded, the collapsed rows were not collapsed in export B: If set ExportType Expanded and not Outline, the collapsed rows were not exported B: Non number cells with Range set were exported right aligned B: Drop pointer arrows was displaced when dragging run bar B: Clicks in RTL and Gantt paging were translated to wrong position B: Dropping run from container to empty cell threw JS error B: EditFormat was ignored in pasting and other mass cell changes !: SuggestType Existing validation now permits empty string always, because it can be entered regardless on Suggest C: Setting and clearing scroll limit was updated to handle case when grid layout changes for the limit change C: Reload now restores main tag size if it was affected by LimitScroll C: GridResizeDefault now resets NoVScroll and NoHScroll set by LimitScroll B: GridResizeDefault did not work if ResizingMain was set in OnLoaded B: Gantt main bar could change its duration if moved due GanttCheckExclude B: Rotated header did not show sort icon or did not update the row height B: Moving row from one detail to another detail grid threw JS error B: Editing in space row with Tag set was not possible if not used AbsoluteCursors B: Side icons were incorrectly positioned for ShowButtons='7' (bottom side) 13.1.6 B: NoVScroll and NoHScroll setting could cause grid not displayed if main tag had not set width / height B: LimitScroll could be cleared with error in some cases - exact main tag widths 13.1 Gantt +: Added GanttRunContainersSelect attribute to select run containers B: Gantt failed to load if GanttRun had the first box removed due GanttRunMilestones B: GanttRunContainersDelete=3 failed to delete empty container with empty inner container B: Selection of boxes was not cleared correctly in some cases B: Row height was not updated for Gantt items height if there was only one columns section B: Correcting dependencies with custom calendar could move tasks incorrectly B: ganttdependencyerrors did not work for GanttRunDependencies=0 B: Setting duration to 0 could set end date before start date. Now it creates milestone B: Gantt popup menu failed on disabled task when set GanttEditDisabled=1 B: Pasting tasks did not recalculate dependencies B: GanttSlack was not updated if undone / redone cell change B: Dependency arrow was not connected to line when dragged dependency in new CSS styles B: Manual constraint was moved along with dragged main bar B: Manual constraint could be changed when correcting dependencies B: Responsive style was not loaded if grid was initialized in compatible style and Gantt chart was shown B: GanttMark icon was not resized to the whole row height in some cases B: Correcting dependencies was run also for editing start/end/duration in Filter row +: Added GanttDragTipDateFormat to format dates in drag tip !: ganttstart, ganttend, ganttduration and ganttparts added fourth attribute. If not set, the functions calculate milestones for both bounds C: Global functions ShowDialog and ShowMenu take style sizes from the first grid on page, if any Sheet B: Cell names were incorrectly set in uploaded xml/json if FormulaRelative was 2 B: Merging xlsx files did not work B: Printing exported xlsx in MS Excel could cause MS Excel crash B: Export failed if JavaScript Array had defined custom functions B: Default header was not exported B: Number format starting by comma was exported incorrectly to xlsx C: Number cells with HtmlPrefix / HtmlPostfix were exported as text, without Format. Now they are exported as formatted numbers without HtmlPrefix / HtmlPostfix B: Incorrect xlsx when exported number format containing html and text together in one "" Rtl +: Grid in 13.x supports RTL mode again C: Popup Menu and Calendar animations side were updated for RTL B: Column paging did not work correctly in RTL in Chrome B: Cell Border did not work in RTL B: Scale did not work in RTL B: AutoFill did not work in RTL B: Gantt Background was not shown correctly in RTL B: Main bar side icon were not shown correctly in RTL Grid B: Corrected various problems that led to "Update layout failed" error B: Update layout failed error was shown in Chrome with zoom!=100% and NoVScroll / NoHScroll B: Pager did not work in IE7 and IE5 C: When grouping, the column is removed from sort only if has set CanGroup=1 B: Row height could be incorrectly updated in IE9 and older B: Calendar was not displayed in IE7 B: Displayed empty space above grid in IE8 and older B: Animations for expand / collapse blinked if the grid has set NoVScroll/MaxVScroll and the grid height changed page height C: HtmlPrefix and HtmlPostfix is now placed into all outer divs in cell to place the text on the same line as the cell value. C: If set SafeCSS, TreeGrid now loads the CSS style by asynchronous AJAX to avoid problems with synchronous AJAX in Chrome / Safari (there was wrong alert complaining about local file system) B: Message could be shown incorrectly if set ScaleMenu B: PopupGrid did not derive Size and Scale settings B: Paged grid could be inactive in rare cases B: Wrapped space cell (e.g. Html type) with Width = -1 could break down grid layout B: GetXmlData failed for settings or hidden in some cases C: Moving many selected rows shows waiting message B: Page message was too narrow in some cases B: Grid was not displayed if contained LeftCols with only Hidden columns B: Grid layout was broken if moved all children from invisible ChildPart B: Grid absolute cursors and dialog were not updated when main tag changed its position due resize or changed page layout B: Focused/FocusedPos attribute were sometimes ignored in server paging body response B: Change in Pivot grid mirrored to source ignored AutoSort C: CanEdit attribute is set in Pivot grid always when set PivotUpdate +: Added PivotSumFormat attribute to format / round numbers calculated by pivot functions sum / sumjoin +: In the Pivot default cell value is replaced *Name* by the source column name B: Missing some cell borders in Chrome if used bootstrap B: Tree lines in FF could be hidden in deep levels B: Hint was wrongly shown for some cells in Chrome with zoom != 100% B: Date Format containing "mmm" as months caused JS error B: Animating expand / collapse could blink if hid or showed vertical scrollbar B: Possibly hovered wrong cell in ColPaging and Chrome with page zoom !=100% due its bug #411639 B: Fixed and variable rows could be not synchronized in ColPaging and ColPagingFixed=0 in Chrome with page zoom !=100% due its bug #411639 C: If set Upload_Type Selected and AutoUpdate is on, it uploads changes after any selection done and always uploads all changes, not only affected row B: Side pager was incorrectly hovered if rerendered grid with different style size for pager (different count of pages) +: Added parameters scroll and sync to Rerender API method do preserve scroll position during render B: Grid style could be slightly broken down in Chrome and AllPages=0 B: Selected attribute value could be uploaded as "true" instead of "1" B: Width of main column was incorrectly calculated if calculated automatically B: Row animation like select or delete could change row height in Firefox B: Global function StringToDate did not work with ExcelDates B: Row cursor could be displaced in Scale!=1 !: Added ShrinkStyle value 3 (and set default value) to show "Too small grid size" message with a button to shrink the grid style +: Added ExportLoad and PrintLoad value 2 to download all rows even if only selected rows are printed B: Filter could hide expanded children and the parent could not expand them B: JS error when pasting less rows than destination focused area C: PrintSelected option was hidden for server paging B: Grid layout could be broken when changed row height by API in some cases B: SetString set date incorrectly if used ExcelDates B: Panel buttons could be clipped B: Grid with only one root row was inactive after sorting B: In IE8 and older the modal menus were disabled B: Printing in Chrome created empty pages B: RowIndex column could increase row height 13.0.15 B: TreeGrid did not work in IE7 B: Dates loaded from xlsx were shifted by 2 days B: RestoreCfg did not restore Style and Size correctly B: Action SetChecked did not work for Button="Check", only for Icon="Check" B: Changing Scale < 100% tried to set LimitScroll always and also failed in some cases B: If suggest menu closed the input could disappear in IE !: Entering only day in Date type must be by number, not by any string (e.g. 1st is restricted now). B: Exported dates in Auto type without ExcelDates set were incorrect in xlsx C: Exported dates in default format chooses the format according to DateSeparator as d.M.yyyy / M/d/yyyy / yyyy-MM-dd B: Coordinates in editable formulas were not translated in export correctly when rows and columns were identified by id and Name B: Operators + between strings in editable formulas were not changed all to & in export to xlsx 13.0.14 +: If EditFormat for Date type is defined and does not contain 'd' or 'D', it displays calendar dialog to select only month and year B: If actual Style was not defined in Styles, configuration menu did not show B: Style size could not be changed from configuration menu B: Setting TextSize remarkably increased row height in some cases B: Changing Scale > 100% tried to set LimitScroll always and also failed in some cases B: FastPanel does not work in FF48 and older - now the FastPanel is turned off automatically for FF48 and older B: If one letter format contained < or &, the exported xlsx was corrupt B: GanttWidthEx was not affected by GanttWidth style modifier B: With DynamicFormat="2" and editable formula, value was not reformatted to date if the type was not changed B: In Auto Type were ignored CRLF when editing B: In Lines Type were ignored CRLF for display B: Formats as right click popup menu ignored the deep subitems B: Date strings in Auto Type were not converted on load to the datetime value B: AutoCalendar with time edit input always focused the time input and not the main cell B: Date format with text months or days could not be edited B: Range='1' with numbers was shown as NaN B: Changing grid CSS style could lead to Update layout failed message B: Merged cells in Compatible styles had bigger font size B: Color attribute was ignored in column and cell B: Popup grid could scroll page if it had scrollbars B: User cell was not shown in Compatible styles B: Gantt header was shifted top in Compatible styles B: Side Gantt icon in main bar was not shown in Compatible styles 13.0 Gantt +: Added GanttRun containers, to manipulate more run boxes together and place them visually to containers +: Rewritten algorithm for shifting error boxes. Updated GanttRunErrorsShift, it can be set to negative value to place the next box under the whole overlaid box plus given space +: Gantt progress line is now done by in-place for better look, except on IE8 and older that is still done by gif. The GanttMark class values A,B,C,D are now reserved for the progress line. !: Default value of GanttMarkExt is "svg" and in IE8 and below is "gif". !: Gantt constrains are not centered to the first main bar, but now they are centered according to their definition in CSS style. +: GanttBottom, GanttIconBottom can be defined in CSS style +: Added OnGetGanttRunRect parameter type to specify when the event is called +: Added OnGetGanttRunSideText parameter rect as the box position +: Added attribute GanttMarkTexts to display text inside Mark, as static not interactive label in Gantt +: Added attribute GanttTextSeparator to change separator for GanttFlagTexts and GanttMarkTexts to let to include it the semicolon B: GanttMark icon was not resized to the whole row height in some cases B: Milestone could not be moved if defined with both Start and End (the same) +: Added GanttHeaderStyleX attribute to change CSS style of given Gantt header line B: Setting GanttHover=0 did not stop hovering dependencies and vertical lines B: CheckGantt was run for the whole Gantt column, either for rows without Gantt cells, e.g. filter +: Added dragging action SelectGanttRunRange to select all runs in given range in focused or selected rows +: Added OnEndDragGanttRange API event called for custom action when dragging range in Gantt header +: GanttBackground and exclude is rendered as to speed it up, if set GanttTextOverlay=1 or printed if set PrintGanttBackground=2 B: GanttBackground could not be rendered in Gantt paging if grid was scrolled left B: If defined run as summary of main bars, dragging selected run boxes as the first boxes in row deleted the boxes B: GanttRunTop and run Top was ignored if set to 0 B: GanttMarkIncorrectDependencies=1 colored lines and arrows differently B: Gantt could be printed with missing rows if used ChildPaging or ChildParts without Paging B: PrintZoomFit did not work correctly in Chrome C: PrintZoomFit is switched off in Safari, it does not work here B: Dependency could be marked incorrect with custom calendar and small exclude units B: FastGantt did not work correctly in Chrome and Firefox in some page zoom levels C: GanttRunSummaryPrefix can be set to empty string B: Gantt was refreshed for every ClearSelection B: Gantt could be slowed down in Firefox in page zoom!=100% B: GanttAvailabilityDivide could break down the chart for some zero part length Sheet +: Added new input data Format "xlsx". It must be set to correctly load xlsx files. +: TreeGrid can open (by open dialog or by dropping) xlsx files, edit them (including manipulating sheets) and save them back (by download dialog). +: Added "Sheets" type button to show tabber with sheets in xlsx +: Added AutoWidths attribute to set widths and visibility of columns created by AutoCols B: JS error when rendering with DynamicBorder and last column with RowSpan +: To FormulaType added bits 4-6 to iterate also fixed rows and columns B: Absolute RxCx format accepted only one digit numbers +: Added next 200 Excel functions to editable formulas +: Added operators ^ (power) & (string concatenate) space (intersection of cell ranges) in editable formulas +: Added external references to other sheets in xlsx by operator ! in editable formulas, including sheet ranges B: Reference to not yet created far cell returned error +: Added FormulaTip attribute to let users to choose if show editable formula as tip +: Added DefaultBorder attribute to let users to choose if show default borders between cells (only for DynamicBorder) +: Added API method GetStringEdit to return string for editing or editable formula +: Added API method SetStringEdit to set cell value like it was edited by a user +: Added cell attribute Indent to specify value indent from the aligned edge. It can be changed also dynamically. +: Added cfg attributes Indent and Indents and actions for manipulating the cell indent +: The toolbar buttons and enums for DynamicStyle and DynamicFormat now display actual settings from focused cell +: New custom formats can be added to Formats. All initial formats in grid are added to Formats on start as custom formats. +: Formats menu supports sub menus +: Added API method FindFormat to find actual type and format in given formats +: Added ExcelDates attribute to take all dates as count of days since 1/1/1900 (MS Excel format) instead of count of milliseconds since 1/1/1970 (JavaScript format). +: Added Type="Auto" as auto type according to value and format. Replaces DynamicFormat='2'. Auto type can display text, html, number and date. B: Grid could incorrectly complain about circular references in editable formula. Added FormulaMaxIterations for better test of circular references. C: FontSize now sets line-height as 4/3 of the FontSize !: All editable formula items except strings are now case insensitive !: JavaScript name of custom function defined for editable formulas must be lower case B: Result of editable formula did not change empty string to 0 Grid +: Added new responsive CSS styles. Not for IE9 and older and Safari 6 and older. !: Changed Style prefixes logic, Tx is CSS prefix for grid, Gx for Gantt, Cx for old compatible CSS style !: Some old compatible CSS styles renamed: Standard to Relief, Modern to Gradient and Material to Sharp +: Added attributes Size and Scale to choose style size modifier and % scale for responsive web design +: Added ShrinkStyle attribute to automatically decrease the Size and Scale if space for grid is too small +: Split Gantt and grid styles to be set different !: Updated CSS styles, added a few new CSS classes for better styling, modified meaning and values of few old CSS classes +: Update tag for new CSS styles +: Added ConstWidth values 5 and 6 to resize grid to show all space cells +: Added animations to many grid actions !: OnRowFilter is now called before showing children in StandardFilter=2. The OnRowFilter now has set the third parameter true only for rows that fulfill filter condition. B: Larger cell value could be shown outside cell if it was changed from empty value B: PrintPrefix and PrintPostfix did not work with PrintZoomFit B: Showing tree level could be slow B: List cell popup in Search was not shown in some cases C: Disabled grid is not rendered with 50% opacity by default when doing longer tasks to avoid blinking B: In IE text was selected if dragging started on dialog C: Various actions were merged to undo blocks, to be undone together at once B: Row SortIcons were not read from default row +: Added parameter hard to the Disable to disable the grid visually +: Added attribute DragCol to show row drop position in this column in plain grid without tree +: Added action StartEditCellAccept to edit outside focused cell, but with accepting previous edit +: Defined side Pager texts as PagerSep1, PagerSep2, PagerSep3 and PagerNone to redefine separators in the page names in pager +: Added attributes MaxChars and MaxCharsSingle to limit the page name characters +: Added attributes MaxWidth and MinWidth for space cells to control the auto width cells B: NoScrollAfterExpand=0 did not work correctly B: Grid MaxHeight did not work correctly in latest Chrome B: Ctrl+click and shif+click to cell failed if Sheet module was not included B: JS error if reloading body returned negative IO Result and some data B: Loading JSON did not clear in some cases C: AcceptChanges in master grid now calls AcceptChange in nested detail grids +: Added keyword *Value* to tip to show cell value inside Tip B: In StandardFilter=3 the CanFilter=0 rows caused showing all their parents +: Added MasterDefHide to hide some master rows in this detail grid +: Updated DefaultSort, if set it stores original rows positions on start to restore original sort order later B: Row alternate colors were not updated in some cases +: Extended _Script data source, it can contain any JavaScript code to be run to get the source data and can be used in any data source, also in Upload_, Page_ or Check_ +: Added API OnClearRow that is called before the row or cell is cleared, as opposite to OnRenderRow B: OnRenderRow was not called for fixed and space rows B: Def attribute could not be upload in changed rows in Upload_Attrs B: Filling cells by dragging sometimes did not stop scrolling on the grid right side +: SaveExpanded and SaveSelected now works also with server paging and server child paging except set RemoveUnusedPages=3 / RemoveCollapsed=3 +: The button / tab ButtonText can be edited +: Added DragTab attribute to drag space tabs or buttons inside its section +: Added action DeleteTab to delete clicked space tab or button !: Pager buttons were related to focused page, now they are related to visible page like pager edit and other pagers B: Scrolling by two fingers on touchpad did not work correctly in some browsers B: Grid cursors were placed incorrectly in Chrome in column paging and some zoom levels !: If event returns 100 <= ret < 200, it stops propagation of the event also to other parts in page; if event returns ret >= 200, it stops propagation the event only in TreeGrid, like in 12.x version C: Tabbing to Bool in edit mode finished editing, now it does not navigate to Bool in edit mode B: Search Find could try to focus not focusable cell +: If scrolled the whole window by NoVScroll and NoHScroll, it now support all paging types: Paging, ChildParts, ColPaging and GanttPaging +: NoVScroll and / or NoHScroll can be set automatically for small displays by LimitScroll attribute +: Added ScrollParent attribute to specify the parent tag used for NoHScroll / NoVScroll +: Added SetMaxHeight method to modify Cfg MaxHeight value +: Action Scroll scrolls window or ScrollParent if set NoVScroll / NoHScroll +: Added actions ScrollHorz / ScrollVert to scroll only one direction B: ReversedTree, ShowButtons, SaveVisible and Pivot could be saved to cookies incorrectly B: Radio cell ignored Align attribute B: For FocusRect=2 was the corner shown also for Space rows B: Alternate could not be set by Media B: ExportCols='1' produced JS error !: Grid table is now rendered with fixed layout to preserve width problems in some page layouts. For compatibility, to render grid table with auto layout set . B: Showing / hiding last column in left or right section more times width FastColumns='1' could change width of some space rows B: Grid could freeze in Chrome in some zoom levels and grid sizes B: Width attribute was ignored for Space Panel B: Filter in server paging did not work in MS Edge 15 B: Count of Levels buttons was not updated on changed grouping +: Added FocusedType attribute to not scroll to Focused row on start +: Added RowIndexWidth attribute to set width of RowIndex without explicit defining it B: LongClick1 was not called on some tablets C: In Chrome for long touch was called Click1 after RightClick, now it calls only RightClick B: In iPad was grid scrolled when dragging in Gantt in some cases B: Hint for Lines cell was not hidden if moved to another row under the hint B: Menu columns could not have the same widths in IE +: Added Overlay attributes to let cell wide value to overlay next empty cells B: Vertical scroll position could be reset in large grid when changed horizontal position B: Height of row with RowSpan could be calculated incorrectly in Chrome 59 B: FormulaRelative RxCx notation always ignored fixed rows +: Reload parameter 3 changed to integer and its value 2 reloads grid without losing grid configuration +: Added actions ReloadSettings and ReloadCfg to reload grid without losing configuration +: Added "config" value to Upload_Type to return grid configuration without data configuration +: Added attributes LeftPrefix,RightPrefix,MiddlePrefix,CtrlPrefix,AltPrefix,ShiftPrefix,MetaPrefix to let predefine prefix for given shift combination !: MetaPrefix is set to "Ctrl" to behave the same as ctrl on Mac, because some browsers on Mac return Meta key for Ctrl. B: Safari/Chrome on Mac ignored key prefix for right button click +: Cols, Pagers and Defs Name and Rows id attributes in Media can be in format "*atribute*value" to specify item(s) with given attribute value B: Spanning cell range with focused cell did not update the focused cell C: Tip was closed for every mouse move, now it closes for move for at least 4px +: Added attribute SpaceWrap to wrap space cells to more lines if required +: Added attribute EditHtml to permit editing Html and Auto type cells as plain text B: GetAttribute did not return row attribute if column existed B: Cell tip shown if expanded the cell enum list B: Color "#000000" was ignored +: Added attributes RoundNumbers and RoundNumbersDigits to round all number in grid to given count of digits. For display only. C: Menu item in Suggest is accepted by tab key too. B: Debug='cookie' did not work for some cookies C: TreeGrid restricts entering incorrect dates without format by default. Controlled by attribute StrictDates +: Extended date format strings. Added new standard formats. Added color in []. Added attribute DateFormatLowercase to accept the 'm' also as month and 'h' also as 24 hours. Added support for texts. +: Extended number format strings. Added conditional formats, colors in [] and format part for text. Added characters '?' and '_' to display spaces instead of digits. +: OnGetHtmlValue can be used to change only value or type or format and format the value in standard way. B: AutoCalendar did not show time if the edit format had time part +: Added attribute MinEditWidth to specify minimal width of space tab cell when edited +: If the grid has Sync attribute it uses synchronous unzip for xlsx import 12.1.19 B: Tree icons were not rendered in Chrome in some cases B: OnGetGanttRunSideRect was always called with parameter side = 1 B: GanttMark with image like progress line was not resized to the whole cell height if the row contained wrapped text B: List in Search was not calculated correctly for search by expression 12.1.18 B: Chrome did not display Gantt background if used GanttPaging B: Mass change like copy&paste of Enum cell was not possible if defined EnumKeys +: Added attribute RTL to Media to change grid in RTL mode B: GanttPaging in RTL mode did not work correctly in some browsers B: SuggestType with Existing and Range could not be validated B: Icon in Disabled Button was still clickable 12.1.17 B: Chrome froze on zoom in / out when there were more than 4 grids on page 12.1.16 +: Added Gantt column attribute GanttMarkExt to change images extension for the GanttMark. It is without ".". It can be empty to not add any extension. B: Side buttons could be hidden on cell refresh B: The AutoUpdate changes were not sent to server after row move B: Firefox on Mac could break down synchronization between fixed and variable rows sections when scrolled to the most right. +: Added FocusSubmenu attribute to JSON menu to restrict (if set to 0) focusing menu and submenu on submenu show on mouse hover +: TreeGrid sped up in Chrome / Safari 12.1 +: Added export to binary xlsx format. It supports many TreeGrid and SpreadSheet features to export. +: Added direct saving of the exported data without server (not available for IE9 and older). !: ExportFormat changed to string and is preferred to Export_Type. !: Included third party library JSZip, it is loaded only for xlsx export and only if set Cfg JSZip = 1 +: Added various flags to ExportType for xlsx export +: Added ExportLoad attribute to load all pages for client export +: Added ExportName and ExportFormat attributes to be changeable in export menu and saved to cookies +: Added PDFName and PDFFormat attribute to be changeable in print menu and saved to cookies +: Added OnExportInit API event to provide custom client export +: Redesigned configuration menus (cfg,columns,export,print/pdf). Cfg and Columns menus both can show columns, rows and options. Modified tag MenuCfg, added tags MenuColumns, MenuPrint, MenuExport. Also to Lang tag. +: Print/pdf and Export menu can choose also rows to print / export. +: Added MenuName row attribute to specify row name in configuration menu. +: JSON Menu items with Group can be synchronized also with different Columns values. +: Added Cfg SaveVisible attribute to save all hidden (variable or fixed+space) rows to cookies. +: Added Cfg VisibleRows and HiddenRows attribute to show and hide given rows after load. +: Added flag Hidden to Upload_Type to upload rows with changed Visible to server in Cfg VisibleRows and HiddenRows attributes. Fixed and space rows and uploaded also Settings flag. +: Added OnRestoreCfg API event called when configuration is restored to default settings. +: Added AlternateStart to color also first alternate rows B: Cursor keys did not work in menu in some cases - it controlled grid cursor B: Editing of invisible cells was possible and generated JS error C: Focus method shows also hidden column (for type&1), especially for Validate action C: RenderBody does not finish editing in fixed row B: Possible bug in rendering childparts in colpaging B: If set too high Span in left column in ColPaging, it caused JS error B: Zooming in Gantt header in GanttPaging with GanttPagingFixed was wrong B: TreeGrid was very slow in IE9 and older B: GanttMark icon was not resized for automatically resized rows due their content +: Added GanttAvailabilityGroupsSpread attribute to stack the availability groups horizontally B: GanttAvailabilitySumBars did not calculate correctly min and max value +: Added OnGanttRunDrop parameter celly B: Dialogs in tablet could be displayed in wrong place B: Corrected editing in some tablets +: Added / attribute Source to define count and names of data sources for download B: ReloadBody could not change Paging value B: Editing could not be done in space row with Tag B: Action could not call custom JavaScript function containing digits in its name !: OnDisplaceRow is now called also for all rows after main tag is resized by mouse dragging B: Server child paging with child parts did not work correctly B: Grouping with OnePage could group data more times B: Missing texts in MenuCell caused menu items hidden, now the menu item displays text identification instead B: OnContextMenu menu was not called when menu with one item only runs automatically its action B: If hidden main tag was displayed, in some cases the content was rendered twice B: When printing Gantt pages, the Text (with %) did not display cells from not printed columns B: Collapsing parent of focused row could throw JS error in some cases B: Collapsing all rows did not collapse not loaded child pages B: Delete selected rows ignored children of rows with CanDelete=0 B: Unused control keys used in popup menu or calendar scrolled the grid under B: SuggestSeparator was incorrectly applied in some cases B: Menu Submenu could not be controlled by keys due incorrect id. Ids of submenu html items and buttons changed. B: FormulaCanUse was ignored when whole row or column was referenced B: ShowMenu was not backward compatible with the old parameter syntax prior 11.0 C: For Upload_Type Selected it uploads also all selected cells and all selected columns B: PrintRows value was not uploaded correctly in Upload_Type Settings +: For DebugTag="Console" prints the debug to browser console B: PrintFiltered and ExportType Filtered did not recalculate the grid accordingly C: PrintSelected works now the same as ExportType Selected, for selected rows, columns and cells. C: Selected cells are not colored when PrintSelected is set B: Child in default row ignored parent CDef attribute +: TreeGrid can be controlled also from touch screen on notebook, in Chrome and if permitted, in Edge and Firefox B: Enum item in Menu with EnumTime could not be expanded on tablet B: Mouse drag objects were incorrectly positioned in zoomed page by pinch zoom and scrolled right or bottom C: Dialogs in page zoomed by pinch zoom are placed into visible area B: Delete selected rows did not undelete selected children of selected parent C: Start dragging dependency during moving box is now permitted on touch screen when TouchDragFocusedDependency is 2 B: Levels buttons did not work in server paging +: Added MinLevels attribute to set minimal count of buttons in Levels, for server paging C: On tablet the calendar with time part is not automatically focused to not show keyboard on start B: Touching edited cell finished editing B: Displayed Gantt dependency Lag was rounded to GanttWidth if defined GanttExclude, it could show too long lag for high GanttWidth B: Hidden space rows broke layout down in Safari 10 and Chrome on iOS B: Dragging Panel Move did not work on tablets B: Action DragCell ignored TouchDragFocused +: Added Cfg attribute DuplicateId for cases when more row ids are changed by and during the process duplicate id temporary occurs +: Added GanttZoomFitWidth attribute to specify fixed width for zoom fit in case of MaxHScroll or NoHScroll B: Dragging menu by header did not work on touchscreen +: Added Media rules for responsive design !: Hidden space rows are not calculated, except set CalculateHidden=1 +: Added attribute Mirror to copy all attributes from one space row to another, to avoid defining the attributes in all the rows. B: Side pager could not be easily scrolled on touch screen B: Expand / collapse columns in header did not work correctly on spanned rows, especially in chrome B: Right side button in spanned cell could be hidden if some of the columns was hidden B: GanttAvailabilitySum could generate long units in GanttExclude warning +: Added GanttRunEscape attribute to permit and escape separators in GanttRun array definition B: In Firefox the first pressed key that started editing was not placed to the cell !: If not set SelectingText (default), the selecting text in grid is not permitted also on tablets B: Dependency hover was misplaced when scrolled on tablet B: On Android tablet selecting cell range scrolled the grid +: Added action PinchZoomGantt to zoom/unzoom the Gantt chart by pinch gesture on touch screen B: For SortIcons=2 and high header the click was not directly to the sort icon +: Added MomentumScroll attribute options 2 and 3 to avoid iOS bug that scrolls tags with -webkit-overflow-scrolling:touch even behind absolute tags. +: Updated SafeCSS mode for Foundation, Skeleton and other frameworks B: EditAttrs permissions did not test correctly Enum with Range !: PrintLocation default value changed from 0 to 3/0 to print to the same page on top window or 0 to print to different window in frame or iframe !: PrintZoomFit default value changed from 0 to 1 to show the fit page option in print menu. PDFFitPage updated to work in IE9+, Chrome, Firefox and Safari +: Border cursors speeded up in Safari/Chrome B: Cursors were shifted up in Firefox and Mac Safari for main table border +: Added attribute MacContextMenu to show popup menu on right click button up instead of down on Mac OSX, to permit dragging by right mouse button. Turned on in Gantt by default. +: Added column attribute Overflow to speed up grid in Chrome/Safari B: AbsoluteCursors were set 0 for all browsers, now they are 5 for all browser except Firefox B: TreeGrid did not work correctly in Safari 6.2 B: Moving focused column or row if SelectingFocus was true did not change the focused selection !: If Upload_Type contains both "cells" and "changes", the cells are now uploaded in Body tag instead of Changes tag B: Resizing spanned cell if the main spanned column was hidden broken down grid C: Cell Visible was removed from Simple C: NoFormatEscape is now applied also to Lines type C: MomentumScroll attribute now affects also vertical pagers 12.0.16 +: Added new style "Material" according to Google Material Design specification B: Incorrect calculation of availability stack bounds if set GanttAvailabilitySum B: Dialogs on tablets could be incorrectly placed B: Grouping could be run more times if set server paging with OnePage C: OnDisplaceRow is now run also after manual resizing of main tag B: Server child paging with child parts did not render correctly in some cases C: Menu shows item name if not defined item text in Text.xml. It hides the item only if the text is set as empty. B: Menu with only one item did not run OnConextMenu event B: TreeGrid could not change style if was in hidden main tag B: CollapseAll could not collapse focused row B: CollapseAll did not collapse rows with not loaded children B: Selected children of not deletable parents could not be deleted in some cases 12.0.15 B: Horizontal scroll by mouse wheel or touchpad did not work correctly in some browsers - it still scrolled vertically B: Rotate attribute was not read from row and column +: Added FilterIgnoreEmpty to ignore empty cells for filter operators <, <=, != and not contains/begins/ends +: Added noround parameter to GetGanttPos to not round the result to pixels to use e.g. in OnGanttRunDrop for precise position change B: Moving and resizing GanttRun box generated more undo block and AutoUpdate server calls, if the run defined as summary of main bars +: Added OnEndDragGanttRun called after GanttRun box resizing or sliding finishes B: Copying columns could copy Span and RowSpan incorrectly B: Row Hidden attribute was not read from default row B: Accepting changes in AutoUpdate was added as new undo block, for Undo=32 B: Gantt chart could break down when refreshed and there was some invisible not rendered row B: Undoing deleted Hidden row could show this row B: When GanttRun defined as summary and the row id changed after a change due FullId or other id attributes, the grid breaks down B: CustomScroll=4 preserved scrolling in grid B: Rotate in Space cells did not work correctly C: For FastGantt is added GxFGanttHtml class to every side text !: The Main bar milestone text is now shown on the same vertical position as milestone B: Vertically stacked availability was wrong if mixes positive and negative values B: If edited in iPad in iframe, the frame could be scrolled up and the edited cell could be hidden when shown keyboard. B: Moving column inside group as the last column in group and in grid moved the column outside the group B: StandardFilter = 3 could display row with CanFilter=0 Visible=0 +: Added attribute Cfg ClearFilterOff to clear filter value if chosen operator off. +: Added attribute Cfg ShiftHint to shift the hint left if there is no room on right side B: Grid in server child paging was broken down in some cases +: Action Copy and Exclude can be used also in popup menu or called by API. Works only in Chrome 42, Firefox 41, IE10, Opera 29 and no Safari B: ...IconRotate CSS class was not added to empty rotated cell with icon B: JS error when adding row to grouped grid in some cases +: Added Cfg CalculatedChangesFirst to specify columns to be used like if set CalculatedChanges=2 B: SpannedTree was rendered too wide and Hint could be shown too wide for it B: Gantt in some styles in IE could be printed broken down B: RowIndex if not defined as column could be printed to PDF in incorrect position +: Added CSS class GxColorHoveredAbsolute to specify the hovered row color as absolute, not added color. B: Creating run box on excluded dates could show warning about NaN in excluded dates. B: Editing in Space row outside TreeGrid was not possible. 12.0.14 C: When set GanttRunMove="Slide,Move,Vert", the vertical movement cannot be done when sliding already started at least 50px B: Ctrl+Enter in Lines editing did not update height of the textarea B: Shift+Enter in Lines entered two lines in some cases B: In formula editing when chosen constant in suggest it added parenthesis and resulted to NaN +: Added Cfg attribute FormulaAddParenthesis, if set tries to add ending parenthesis to incorrect formula B: Gantt refresh/zoom with some paging settings could break down the grid B: Exclude and paste could reset page scrollbars B: Wrapped rotated cell was not correctly displayed 12.0.13 B: Editable formula calculation failed for space cells +: Added NoDateNumber attribute to not set Date type for numbers when set DynamicFormat=2 C: Date in DynamicFormat=2 is set for numbers only when the cell is calculated by editable formula B: DynamicFormat=2 ignored language dependent date and number separators +: Added parameter calc to OnFindType when called for calculated cell B: OnEndEdit was called twice when accepted the same value without change +: Added attribute SelectClassRow for backward compatibility B: On DynamicFormat=2, when changed type by entering value and next entered the original value, the cell remained changed B: Gantt in collapsed rows could be incorrectly refreshed B: Chrome 50 in strict mode did not render deep tree icons 12.0.12 B: Gantt with tree and ChildParts could be broken down 12.0 Sheet +: Added editable formulas in cells. Main attribute is FormulaEditing. Added new module CalcEdit. +: Added suggest menu with available formulas. +: Cell range can be selected by mouse during editing formula. Added value 2 to DragEdit to permit dragging during editing. +: Added dynamic border for every cell. Main attribute is DynamicBorder. Added new module Border. +: Added dynamic style for every cell. Main attribute is DynamicStyle. Added new module Style. Background Color attribute is also affected by the DynamicStyle. +: Added dynamic and automatic format and type for every cell. Main attribute is DynamicFormat. Added new module Format. +: Added row and column index as RowIndex and ColIndex. UpCounter was renamed to RowIndex and extended. RowIndex/UpCounter is still usable in Grid/Gantt components. Added new module Index. RowIndex column is styled like Header. +: Added attributes AutoRows and AutoCols to generate new empty rows and column on start. Only for RowIndex/ColIndex. +: Added EditAttrs... attributes to specify which cell attributes will be affected by mass cell changes. Added new module EditAttrs. Added EditAttrs to Upload_Flags. +: Added auto row and column paging - adding new row and column pages dynamically on scroll. Main attributes are AutoPages and AutoColPages. Added new module PagingAuto. +: Added flags to to add new rows for AutoPages and accept Index instead of id Gantt B: ZoomUndo action in synchronized grids did not scroll correctly +: Added column attribute ConstWidth to display empty relative width column to fill available space +: Extended RelWidthType attribute C: In algorithm of resizing widths if there is no room for grid, the pager is resized after sections with Width and MinWidth +: LeftWidth/MidWidth/RightWidth can be set to 0 to calculate it as summary of its columns !: GanttSizeFit is now affected by GanttZoomFit +: Added value 2 to GanttSizeFit to resize but not shrink !: GanttChartMaxStart/MinEnd are now affected by GanttChartRound B: Dragging bars and some click actions in GanttPaging and RTL were buggy C: Auto scroll rows when dragging Gantt object(s) only horizontally is now turned off B: Vertical lines were not shown for run move and GanttPaging B: Dragged mouse object was not overflowed in RTL mode if placed left behind window and caused showing horizontal scrollbar +: Added attribute Cfg TouchDragFocusedDependency to create dependency on tablet only on focused cell or object B: Dragging Gantt line in RTL was buggy +: Added CSS class DragGanttTipInner and modified DragGanttTip to not contain border, to be correctly overflowed by page edges B: In GanttSizeFit was ignored GanttZoomDate in some cases B: Gantt chart zooms were not synchronized for Sync="zoom" if not set GanttSize +: Added OnSelectGanttRunRect API event called after the runs are selected +: Added attribute GanttLagRound to round percentage lag to GanttDataUnits +: Added GanttAvailabilityGroups attribute to define more independent availability charts +: GanttAvailabilityShift can be defined different for every availability chart +: Added GanttAvailabilityHeight attribute to specify portion of the cell to display availability chart +: Added attributes GanttAvailabilityVPos, GanttAvailabilityHPos, GanttAvailabilityTextRepeat and GanttAvailabilityTextColor to more control the availability text +: Added GanttAvailabilityStack attribute to stack more availability charts vertically or horizontally B: GanttAncestors cell was not updated for some dependency changes and delete / undelete tasks B: In dragging line, the line ghost was not deleted if OnStartDragGantt returned true B: Deleting main bar with dependencies generated two undo blocks B: Initial Gantt start date in empty grid could not be actual date, but some very high date B: ZoomToBar did not change GanttSize page if the zoom width did not change B: Paged GanttHeader could be broken down when showing / hiding other columns B: ReloadBody cleared actual Gantt zoom and position B: Updated Gantt pager cursor position, now it shows the pink / green cursor for at least 70% of the grid size / pager size C: Disables GanttCheckExclude and GanttCorrectingDependencies for pasting B: Dependency change could be added as two undo statements B: GanttRun Move could not show the vertical line if used GanttPaging +: Added GanttCheckExcludeEdit to control the exclude differently for dragging and editing +: Added GanttIconsHover and GanttIconLeftWidth/RightWidth to distinguish Gantt Main left and right side icons for API B: If editing GanttStart/End/Duration changed also the other attribute due GanttCheck, the undo was in two statements C: Custom GanttMenu items text can be read also from Text.xml B: GanttAvailability count #0 was used as #1 B: GanttMinSlack and GanttErrSlack were used as in ms instead of GanttUnits B: Grid sections were misaligned in some cases when used GanttPaging, Paging and RemoveUnused Grid + shared +: Extended mass changes of cells in grid (clear, copy, move, fill, paste, validate), now all the changes call basic API actions like OnValueChanged and check cell edit and validate restrictions. Added new module MassChanges. +: Mass changes can show result message with error list +: Added actions and API to clear cell or cell range +: Nearly all TreeGrid actions can be called with the second parameter true to test actual possibilities of the action and do nothing +: Changed and sped up scrolling on touch screens. Added MomentumScroll attribute to use on Mobile Safari browser. +: Added value 8 and 12 to ResizingMain to hide also other grids on page when resizing one grid, especially if used Cfg MaxHeight +: Added value 16 to ResizingMain to ignore LeftWidth/MidWidth/RightWidth for minimal width calculation +: DragByMouse can be used also in ontouchstart to work on tablets C: Moved row ghost is shown also on tablet B: PrintPaddingWidth/Height were incorrectly replaced by PrintMarginWidth/Height in page size calculation +: Added attribute ShowHScroll to always show horizontal scrollbars +: Added Digits attribute to replace digits in all TreeGrid numbers by defined characters. Useful to show Arabic numbers. B: CanEditFormula was ignored in some cases B: Grid showed both scrollbars in exact space if it could hide both C: Key event action can return 100 to stop propagation, but to not prevent default B: Sync="Sec" did not save the change to cookies in the synchronized grids B: Sync flags Sec,Vert,Horz,Zoom were not synchronized on grid load from other grid(s) !: CanEmpty for Filter row and Int/Float type is now 1 by default +: Added SuggestType Search to search the input in the items as text, not only in word start +: Added calendar attribute Weeks to permit hiding week numbers +: Added Cfg Collapsed attribute to collapse particular rows on start B: NoChanged attribute was not used for calculated cells with CalculatedChanges C: Column attribute Width can be set to empty string for auto width (formerly only not defined Width caused auto width) +: Added column attribute Next to change or set column position during loading B: DefaultDate was not used when pasting C: Sped up refreshing space rows by API B: GetPrevVisible did not work for fixed row B: Hiding and showing main tag by display:none did not preserve scroll position B: ShowVScroll could break down the grid layout +: Added OnSizeError API event to update grid layout when it cannot be shown in its tag due its size B: Undo was not merged in some cases +: Added ColorState attribute to not color row states +: Added EscapeImages attribute to permit the grid images to contain spaces +: Added xxx_Header as datasource attribute to specify custom HTTP headers for AJAX communication C: In calendar first week number in year in U.S. week numbering was from the previous year, now it is from this year B: In Firefox right click automatically finished editing B: Suggest did not work for Chinese, Japanese and Korean languages correctly C: Added BaseSeparators attribute to use customized decimal, date and time separators also without Format set. +: Added ColumnSizes to JSON Menu item to specify item counts in the individual menu columns +: Added ShowIcon attribute to Bool JSON menu item to hide the bool check box B: Configuration could be broken down if two grids were saving configuration simultaneously +: Added Search action and button FindPrev to search backward +: Added attribute ShowColNames to fill the row cells by column names B: If added column with Formula, the Formula was not added to global calc order. +: Added attributes, API and actions for column selecting, adding, copying and deleting. +: Added various new actions to provide more actions on TreeGrid data and show them in popup Menu. +: Added FocusedRect attribute to simply set up focusing more cells. !: Action Validate now always finishes editing B: Loading JSON from object cleared the Items attributes. +: Added row Kind Panel to display column Panel with button ColSelect, ColDelete, ColCopy etc. +: Popup menu on button can be shown only on click to the icon by PopupMenu=3 +: Added actions to change cell/row/column CanEdit value !: Event targets HeaderSelect, HeaderDelete, HeaderCopy and HeaderOff were removed and replaced by standard Panel... targets and panel buttons SelectAll, DeleteAll, CopyAll +: Added API event OnBlur called when grid loses focus +: Added API methods IsFocused, GetFocusedRows and GetFocusedCols +: Extended cell popup Menu, now it can use nearly all TreeGrid actions and can show only suitable ones. It can also contain JSON menu definition with actions in submenus. Replaces CopyMenu. +: Now the cells and rows/columns can be selected independently by SelectingCells=3 +: SelectAll panel button can be a switch to show if all rows or columns are selected or not +: Added ExcludeClear to clear excluded (ctrl+x) cells instead of removing the rows B: Gantt was not printed fully when set MaxHeight for the rows and PrintVarHeight was 2 +: Added attribute Underline for Button type to underline the button, usually dynamically +: Added ButtonClass attribute for Button type to specify the CSS class used for button instead of the cell name +: Extended TreeIconX to specify custom icons including tree lines B: Disabled grid was still accessible by tab +: Updated GetNextSibling/GetPrevSibling methods to iterate siblings on all levels, not only in root. B: Firefox for grid with body height smaller than 50px could break down the grid layout B: Type SelectPivot could break down the Space row +: Added CellsXXX attribute to Space row to split long Cells array to more arrays, especially for default Toolbar B: If TimeFormat part in Calendar contained " or ', JS error happened +: Added Upload_Type Cells flag to upload only changed row and cell attributes +: Added Upload_Flags NoEmpty and Index flags to upload only not empty rows and use RowIndex/ColIndex instead of id and Name C: For Upload_Type Body are all pages in client paging always uploaded in one tag. B: Columns with CanExport='2' were not exported if shown export cols menu. +: Added File type to select one or more local file from disk and show them in cell and / or upload them to server. Not available in IE9 and older. +: Added Button/Icon types File and Clear for the File type +: Added action ClearCell to clear to cell value +: The filter cell value can have different color or style according to operator set. By default has gray text color for operator 0 and blue text color for other operators +: OnSubmenu event now can change also the submenu position B: Arrow in menu in IE9+ moved cursor by two items B: Input position was wrong in some cases when editing cell with VAlign +: Added API method SetBool to set Bool type value B: Cursor up in RowSpan sometimes focused the hidden spanned cell +: Added PrintMarginDiv attribute to display print margin in inches B: If PrintPageWidth/Height print menu options were hidden, the menu did not calculate the pages count B: If OnCanRow returned null, the row could not be added B: Space row did not calculate formulas defined in its default row if CalcOrder was generated automatically B: SafeCSS were forced if box-sizing was set to border-box globally, e.g. when using Bootstrap B: Firefox on Mac OSX with auto scrollbars did not show scrollbars correctly B: Grid layout could break down when used together ColPaging, Paging, ChildParts and RemoveUnused B: In Firefox with Firebug enabled it could enter the first character twice when started editing B: Grid did not catch key events when focused different frame B: Action TabDown/TabUp could focus incorrect cell if the next cell was not in the same column B: Moving row by API to not loaded child part could break down the grid 11.0.13 B: Dragging Gantt run in IE5 quirks mode caused JS error C: Setting empty space in value in GanttRunTypes clears the attribute B: EditGanttRunPercent action did not return true 11.0.12 C: GanttSlack calculation was sped up B: OnGetDependency was called with ancestor row instead of the descendant row in some cases B: If dragged run boxes between grids with different chart starts, the rest of source run boxes in the row could be broken down B: Sliding run box in zoom with large drag units could be inaccurate related to mouse catch position !: Now the GanttDescendants and GanttAncestors are never checked for existing row ids when pasting new row(s) from clipboard B: Setting the same start or end date to milestone caused milestone with both dates set B: Entering duration with GanttModifiers was not possible B: Cfg Version could not be less than -0x4000000 B: Prompt function dialog buttons could not be translated B: rowspan and colspan attributes in exported HTML were not quoted !: When pasting new rows with id generated from the pasted values, the row id is set to this id immediately B: CtrlX did not work if the message about deleting rows was shown C: Pasting many rows now shows message B: Undo deleting many child rows could break down the grid B: In Firefox was not shown horizontal scrollbar for section narrower than 50px B: SearchCols were ignored when set SearchHidden 11.0.11 B: Auto correcting dependencies after main bar date change had not been called in some cases C: Initial size of GanttPaging page is now calculated again from 2000px wide space, this value can be changed by GanttPageInit attribute. B: Selecting run boxes by dragging selected also boxes above and below the rectangle in the same row B: Gantt dependency lag was incorrectly shown if it was not displayed whole B: Change done in Run box selection, text or class by SetGanttRunBox could break down the Run B: Summary tasks could be not calculated after correcting dependencies in some cases B: Setting GanttEdit with CriticalPath permitted correcting dependencies for this task B: GanttFinish could be moved even if set not editable in some cases B: GanttAvailability chart could freeze the grid for specific GanttExclude and very long task B: If zoom name contained spaces and was set in Lang, it could break the SelectGanttZoom list B: Gantt drag tip did not use GanttLastUnit when resizing the right bound +: Updated compatibility with Microsoft Edge (Spartan) browser B: Two finger zoom in Chrome on touch screen made incorrect grid cursor position B: TGDelEvent did not work correctly B: Page height could be incorrectly calculated in zoomed Chrome in some styles B: ShowVScroll could cause incorrect scrolling in Chrome when dragging scrollbar B: Changes order filled Next for row moved back to the same place B: Scroll on drag for Fill action did not work correctly for paged grids B: UpCounter did not changed for undone deleted rows B: SaveOrder was not update for Undo B: UpCounter was not cleared for children of deleted row B: Dragging column in spanned header could return different result when dragged outside the header row B: Grid could randomly scroll when unloading child parts with rows with different height B: Grid could show Small extents error if RelWidth column header contained very long wrap able text B: SuggestType Existing did not work with WhiteChars and CharCodes !: ChangeDef now does not set Visible and Expanded attributes of the row B: Cfg NoScroll did not update width of space rows correctly B: Left or right column could be scrolled on focusing cell wider than the section 11.0.10 B: progress line was incorrectly shown if the rows had different height B: Dependency arrows were not shown for GanttDependencyIcons='1' for dependencies inside one cell B: Gantt drag tip did not use GanttLastUnit B: Dragging line to another GanttPage caused JS error B: Deleting all lines from GanttLines and refreshing Gantt behaved incorrectly B: Changing entered date due constraint could ignore GanttLastUnit when checking excluded dates B: Run box Text in JSON definition could not be number B: OnGanttChange and OnGanttChanged API events were not called for dependency change B: Dragging Gantt item in GanttPaging outside Gantt page could generate JS error B: Resize cursor was shown on Gantt bar when there was GanttLine behind it B: Change done in Run box text or class by SetGanttRunBox could be lost on refreshing the cell B: Some Gantt objects could be hidden when printing Gantt with GanttPaging B: Buttons' texts in GanttCorrectDependencies dialog could not be changed in B: GanttMenu could generate JS error if some GanttHeader was not rendered B: Grid could be broken down in Chrome/Safari if shown fixed column section by API B: In AutoUpdate and Undo&32 could be Undo button inactive even if there was some undo B: Asterisk values in Upload_Attrs were ignored for empty Upload_Type B: Scrolling focused row into view did not work correctly in paging and child parts if the rows have different height than expected B: VarHeight was incorrectly applied for rows on start, especially for header rows B: GetSelRanges returned column count increased by 1 B: GetSelRanges returned incorrect column count for ranges on more column pages B: JS error when spanned row moved inside the spanned range B: Refreshing many cells at once was very slow due cell height check, now the height is checked only for types Lines, Html, Img, Link and List and only if the cell has not set RefreshHeight=0 B: Dragging ghost object could cause showing page horizontal scrollbar 11.0.9 B: Dragging Run box in tablet with Slide and Move has never started move C: The dragged Run box in tablet with GanttRunMove Mouse and Vert is not shifted B: Dragging Gantt bars with GanttDragLine on tablet could stop sometimes B: HoverCell and FocusCell attribute could not be set empty in Gantt column B: JS error if there was nbsp Run box on start or on end of the run B: Dependency was worse accessible on tablet B: Move Run box with flag "vert" could show incorrect drop permissions, although drop was possible B: GanttHeader and GanttBackground could be truncated in GanttPaging when printed B: Initial size of GanttPaging page were calculated from 2000px wide space, not from actual space. B: Dropping run box to the same position could not clear the drag class from the box B: Some dragged objects were incorrectly positioned when page was horizontally scrolled B: Column section was not sometimes resized to minimum and rather shown Too small extents error B: Row height with nested grid was not shrunk when the nested grid was resized B: Missing Enum texts in Text.xml for Cfg menu broke the menu item down B: ClassInnerIcon was not read from row !: OnSelect event parameter deselect value was wrong in some cases B: JS error when defined children of default row and used FullId B: When removed Paging module from GridE.js, root rows could not be deleted C: Too big dialog on tablet is not displayed centered on page, but now is centered on source grid B: Scrolling dialog with mouse wheel could scroll also body or parent tag in some cases +: On tablet there are now added ...Touch classes to the focus border and corner to make them bigger B: Focusing cell range by dragging was buggy on tablet C: TouchDragFocused is applied also to focusing cell range B: AutoUpdate could be turned off in some cases in saving configuration and incorrectly restored 11.0.8 B: GanttBackground did not work with column paging B: GanttRunMove, flag Vert moved to correct position, but to incorrect box order B: Gantt was not correctly refreshed in RTL in IE7 and IE5 quirks modes B: GanttRunStates=2 cleared custom box attributes in some cases B: GanttDragTip was not hidden when beginning dragging dependency from dragging box +: The zoom name displayed in GanttMenu and SelectGanttZoom can be read from B: RelWidthType=1 did not subtract section border width B: Clicks in GanttPaging in RTL mode were processed incorrectly B: Drag cursor was incorrectly shown in some cases. It was also not cleared from document after dragging run box in some browsers. B: TreeIconX could not be set in default row B: Footer could not be shown / hidden by API ShowRow / HideRow B: In IE7 strict mode there was possible 1px vertical scroll without scrollbars C: DynamicSpan is now permitted in IE8 and IE9 strict modes except in tree B: Cfg MaxHeight did not work correctly if the offsetParent of the main tag contained floating tags B: Adding and deleting col pages did not work with ColPagingFixed=0 B: Vertical splitter was inactive on its edges in some cases 11.0 +: Extended GanttRun joined boxes, now it is distinguished if joined directly and by nbsp type box, added attribute GanttRunJoinedNbsp +: Added attribute GanttRunJoinedHover to highlight all the joined boxes at once +: The Nbsp type run box can be interactive, to control itself or its adjacent boxes, added attribute GanttRunNbspHover +: While dragging run box to join with another box, the drop position is marked by red arrows instead of blue +: Updated GanttRunMove, GanttRunResize and GanttRunAdjust, added various flags for dragging joined boxes together or separate +: Added flag Vert to GanttRunMove to permit only vertical movement +: Added Mouse flag to GanttRunMove to start drop position on box start +: OnGanttRunDrop can return empty string to finish the dragging immediately +: Added GanttMenu items for joined boxes, JoinGanttRunSelected, SplitGanttRunJoined, JoinGanttRunAdjacent, SplitGanttRunAdjacent and added similar actions +: Extended GanttMenu and GanttRunTypes, now it is possible to define more and different menu items to choose and change any box attributes +: Added API OnGanttRunSelect called before any run box selection is changed +: Added attribute GanttRunClearSelected to clear box selection after action +: Added attribute GanttRunDragObject to control the look of the dragged boxes shadow B: When set GanttRunAdjust error, it was possible to drop box through outer bound box !: If set GanttRunMilestones=1, the boxes with zero duration have cleared their text when converted to milestone B: There were missing action DelectGanttRunAll B: GanttRunErrorsShift did not restore original box position in some cases !: It is possible to drag End GanttRun box also between rows (moves entire cell, all boxes) +: Added value 3 to GanttDragLine to display the right vertical line also on GanttRun move between rows B: For GanttRunIds=3, the GanttRun ids were not initialized in some cases B: For GanttRunIds=3, the GanttRun custom separators could be removed on initialization B: GanttRun rect selection did not work correctly in horizontally paged Gantt B: SelectGanttRunRect selected also Empty and Bound boxes C: GanttRun Nbsp and Empty boxes with negative width are not shown now +: Top and height of the Nbsp box is calculated from its adjacent boxes B: When set GanttResizeDelete=0 and GanttRunMilestones&2, the box could not be resized to zero width +: Added value 256 to RefreshGantt to clear GanttRun cache B: GanttRun JSON format could not use GanttRunSave = 1 and 4,5,6 +: GanttRun sped up, especially when changing run with many boxes B: SetGanttRunBox / AddGanttRunBox could not add smaller box than one GanttUnits. There could be also problem in rounding dates to pixels. B: SetGanttRunBox / AddGanttRunBox Width and Left was incorrectly used in row with custom exclude when GanttHideExclude was 1 +: Added cls parameter to OnGetGanttRunText and OnGetGanttHtml to change box css classes also here B: Problems when moved Run boxes between grids between rows with the same ids B: When OnDragGanttRun returned false, the vertical lines were not cleared B: OnDragGanttRun could not return 0, it was taken as false B: AddGanttRunBox failed if added new box to run with deleted boxes only C: SelectGanttRunRect action with SelectGanttRun=3 takes as the only row the first row with some boxes in the rectangle. C: Sped up sorting run boxes when many boxes overlays +: Added attribute GanttDragTip and event OnGanttDragTip to show actual drop date or duration or another information during dragging +: Added GanttDragUnits attribute to round dragging object position to these units instead of GanttUnits C: Now the side text and side icons are moved also during box resizing B: On Tablets and TouchDragFocused creating new bars did not work correctly +: GanttAvailability string can contain count starting with = to set the count to this value exactly (not to add/subtract it) +: Added OnGetAvailability API event to calculate the availability in custom way +: GanttAvailabilitySum can be defined per availability chart +: Added GanttAvailabilitySumBars and GanttAvailabilityDivide to more control the bar heights and values on them +: Added Formula function sumavailability to sum the GanttAvailability B: Class returned by OnGetAvailabilityClass required to have leading space in some cases B: Maximal or minimal bound of GanttAvailability could be incorrectly calculated for too small values near zero B: GanttAvailabilitySplit='2' did not work correctly for the first unit C: The date in GanttAvailability can be empty with repeater for repeated range in material B: Dependency hover had not set z-index !: Color returned by OnStartDragGanttDependency was not set to the dependency after creating B: Deleting task or clearing the whole cell did not clear dependencies from the cells correctly B: Dependency could not be changed or deleted if the type was uppercase (e.g. SS instead of ss). C: After change of dependency lag, there were added also color value to the dependency, even if it was the same as GanttDependencyColor C: If the dependency lag is changed to 0 by edit, it is removed from the dependency definition +: Added attribute GanttBypassDependencies to control dependencies going through another boxes in the same row B: Dependency line through not editable Gantt cell was inactive B: Lag size could be shown incorrectly after specific change !: When calculating slack, it is now used always GanttStrict='1' +: Added CriticalPath to GanttEdit to calculate GanttSlack for not editable task. The slack is now calculated also when set . +: Added slack attribute OnCorrectDependencies to distinguish the call on correcting dependencies and on calculating slack B: GanttSlack was not recalculated in some cases B: CalculatedChanges was ignored in GanttSlack calculation +: Added Resource Consume attribute to specify when the Material resource is consumed (during/start/end/middle) !: Added parameter consume to GetResourceUsage method !: GetIncorrectDependencies method returned wrong results B: Constraints were not initialized during OnReady, so correcting dependencies here would not work correctly !: GanttFixComplete excludes from critical path only 100% complete tasks, not all started tasks B: Moving the whole main bar by the first part was not displayed correctly if the first part was milestone B: Milestone could not be defined by end date if no duration column existed B: Background for Exclude was not updated in some cases if the Gantt size was changed B: ganttstart / ganttend returned wrong result if there were only children with one milestone +: RelWidth can be used for Gantt column to resize the Gantt to the width B: Gantt could be printed slightly incorrectly in IE10+, the invisible objects could be printed too B: Gantt Width was calculated incorrectly for side texts other than ...Edge=0. B: GanttEndLast in Dates dialog was debugged as unknown attribute B: Gantt chart could change its width due printing B: Gantt was incorrectly printed in IE7 when set GanttPaging +: Added attribute GanttColor to specify base background color for Gantt cell shown under GanttBackground and GanttExclude colors. It forces row background so it slows down the grid. +: Added GanttCorrectOutsideBounds attribute to permit scheduling tasks beyond project finish (or start in reversed direction) C: Scroll position is saved to cookies even if not set ScrollLeftLap. It can be suppressed by GanttZoomLap=1. !: Rewritten CSS styles for grid, the whole Grid.css. Now they are fully structured and commented and all are compatible with all combinations of TreeGrid cells/icons/button etc. !: Robust CSS style replaced by Round style !: Added new or updated meaning of some CSS classes to better support the new design !: Added Cfg UseButton attribute to show the type Button, panel Button and right Button as styled div tag instead of button tag. Default value is 0 to show div tag. !: In Firefox 20+ now shows separated cell borders like in other browsers +: Added attribute VAlign to vertically align cell content +: Added actions ButtonDown/ButtonUp to visually simulate click to the custom button +: Added DatesEmptyDate attribute to let start or end dates in Dates dialog empty if other date is set +: Added parameter rows to OnCanRowDelete containing all rows to delete when deleting selected rows +: Added parameter fixedonly to OnCalculate when called for fixed rows calculated always B: In FF on Mac could not be copied and pasted with meta key +: Added method GetDetailGrid to get detail/nested grid from master row B: Link attribute now can be set to empty string to clear it B: RowCount was increased when refreshed paged Gantt C: RowSpan is possible also in main column with tree, if only the last spanned row contains children, the spanned cell expand button controls these children C: ShowCol / HideCol can be now called also before the grid is rendered B: Custom AjaxCall method failed on returned HtmlMessage if no func parameter was set +: _Script data source can contain dots for object attribute (e.g. Data_Script='Main.Child.Sub") +: Added value 2 to row NoUpload to not accept changes in this row after save B: Tabber row could not be hidden B: When moving focus from external input to grid and typing in Firefox, the first typed char was placed to the external input B: Height of row spanned cell could be incorrectly calculated in IE B: SpanRange could erase span from children of the last spanned row B: SpanRange could break down sort order B: Setting RelWidth attribute to too many too narrow columns could hide the last column B: Showing / hiding row with Space=-1 or 5 broke down grid layout B: Could not re set cell values when inherit default from two or more default rows +: AddColPage sped up and can add different columns with different defaults. B: Hint was not hidden on popup menu B: Header Levels was clicked wrong in small cells +: Added value 2 to GroupSingle to create only one single group if more single groups in tree are created B: Hint caused JS error for ColPagingFixed=0 C: PasteFocused = 32 in Paging recreates pages to speed up pasting B: Pasting long data did not work in IE B: In Metro/Modern IE did not work printing to new window correctly B: SafeCSS did not solve if set table border-collapse:collapse B: Showing / hiding columns in ColPagingFixed=0 and FastColumns=1 did not work correctly in some cases B: Empty button in calendar could be hidden in some cases B: In calendar the Today and Yesterday buttons could set wrong date due timezone shift, only in GMT=1 B: In IE too high dialogs could cause blinking page due scrollbar showing / hiding C: When shown submenu or Enum in JSON menu, there is now set cursor to the first item B: Calling Clear(1) twice or Clear and Reload caused JS error B: Input in editable Select tag in Space row was slightly incorrectly positioned +: Added StartAll flag to SuggestType to simulate combo with search B: Search by key in Enum list and menus did not work correctly B: In AutoUpdate was uploaded also changed Filter row if it has not set NoUpload=1. Now it is uploaded only if it has set NoUpload=0 +: Added API method ClearBody to remove all body rows in grid +: Added Dialog and Position parameters to ShowPopupGrid to control the parent dialog. Added ParentGrid property to link master grid from popup grid +: Added ShowMenu and ShowCalendar and updated ShowDialog to show the dialog for given cell and hide it on next click C: Now Suggest list is shown below the cell, not below the input B: Row added as the last row was spanned with previous RowSpan range, if any B: The TreeGrid cursors were misplaced in some Chrome zoom levels due Chrome bug 411639 B: In Chrome the border cursors (if permitted) were slightly displaced in some CSS styles B: When shown popup dialog or inline edit, the cell tip could be shown too B: Popup menu could be placed outside screen in IE5 quirks mode B: In Safari 5.0 grid was inactive when page was scrolled down or left B: Cfg Expanded attribute was reported as unknown in debug check B: Undo did not work correctly for ChangeDef and DefEmpty/DefParent if the one default was calculated and the other not +: Added SetTimeout API method to run code delayed to extend standard setTimeout function B: The grid sometime resized its width if it was percentage due cursor width B: Undo for the last changed cell sometimes did not recolor the row B: Validate NoError value was named in documentation NoColor and was reported as unknown in debug check. Correct name is NoError. B: Cells in Space row Space=-1 and 5 was sometimes inactive C: Now in Paging='3' and is the grid not loaded on sorting change +: Added Toolbar3 and Topbar3 kinds to show more related toolbars B: Column Link attribute was used also in Header cell B: Button type integer values showed in blue B: Simple Pager in Empty grid could cause JS errors on page button click B: Border around grid in ResizingMain was not displayed exact in some cases, the right side could be hidden +: Added value 2 to ShowHint attribute to display the hint also for partially invisible cell due scroll B: JS error in some cases in when combining changing Gantt zoom and filtering (show/hide) rows B: Visible attribute was uploaded in tags after some change in Upload_Type=Body B: Grid worked wrong if html body is positioned relative or absolute and has some margin or position B: EmptyValue as empty string did not work correctly for some formatted numbers B: Key navigation did not work correctly when excluded Paging module +: Added API event OnExpandAllFinish called after the asynchronous expanding finished +: Added values 2 and 3 to NoUpCounter to ignore only row and only children B: Row height calculation could be incorrect in IE11 due font subpixel rendering. Removed attribute Cfg PreciseHeights. !: Changed, renamed and extended assigning events functions: TGSetEvent (SetEvent), TGAddEvent (AddEvent) TGDelEvent (DelEvent) and added function TGGetEvent !: Every API event handler can now return null to ignore the event, except OnCorrectDependencies. These events were updated to ignore its handler if returned null or undefined: OnAutoFillValue, OnCanEdit, OnCanReload, OnCanRowDelete, OnCorrectDependencies, OnGanttTip, OnGenerateId, OnGetCopyValue, OnGetDefaults, OnGetEditEnum, OnGetEnum, OnGetEnumKeys, OnGetEnumMenu, OnGetFilterValue, OnGetFormat, OnGetGanttAvailabilityClass, OnGetGanttFlagIcon, OnGetGanttFlagText, OnGetGanttFormat, OnGetGanttHeader, OnGetGanttHtml, OnGetGanttMenu, OnGetGanttRunClass, OnGetGanttRunSideText, OnGetGanttRunText, OnGetGanttSideHtml, OnGetGroupDef, OnGetInputValue, OnGetMenu, OnGetPageCaption, OnGetPageName, OnGetPageNameValue, OnGetPageNumber, OnGetPageTip, OnGetPivotValue, OnGetRowText, OnGetSortValue, OnGetSuggest, OnGetType, OnHint, OnPivotFunc, OnRemoveChanged, OnRowFilter, OnRowSearch, OnSetInputValue, OnSetRowId, OnTestConstraints, OnTip, OnValidate, OnValueChanged C: Browser Find feature did not scroll grid correctly, especially in Firefox +: Updated column sections widths and their resizing and synchronizing between grids. Added also SectionShrinkOrder attribute to control shrinking the sections. Added flags horz0, horz1, horz2 to Sync to synchronize only one section. +: Added RelWidthType attribute to automatically resize column only within its section to maximize the section B: Updated calculating widths of RelWidth columns to avoid 1px rounding problems +: Added right bottom corner to focused cursor like in MS Excel, shown by Corner flag in FocusCell +: Added new flags to mouse event target Edge for focused cell borders: LeftEdge / RightEdge / TopEdge / BottomEdge (border edge of the focused cell) and Corner (right bottom corner of focused cell) +: Now there can be focused more cells in range rectangle like in MS Excel. Extended API Focus method and added FRect variable that specifies this area and FocusedRect to specify the area on start. Added actions FocusCells, FocusRow, FocusCol, FocusRowCol. !: Action FocusRow renamed to ChangeFocusRow, added ChangeFocusCol to move focus on click to not focusable cell !: Focus API method were changed and extended to more control its behavior +: Added actions FocusWholeRow, FocusWholeCol and FocusWholeGrid to focus all cells in one or both directions +: The editing cell cursor can be moved in focused range by Tab actions, added actions TabUp / TabDown / TabUpEdit / TabDownEdit. +: Extended auto fill feature, to fill focused rectangle to the rest chosen cells. Added actions FocusFillCells, FocusFillRow, FocusFillCol, FocusFillRowCol and updated API events OnAutoFill, OnAutoFillFinish and OnAutoFillValue and added OnAutoFillValues API event and AutoFillType attribute. +: Added action MoveFocus to move focused cells by mouse dragging, attribute MoveFocusType and events OnMoveFocus, OnMoveFocusValue and OnMoveFocusFinish +: Added FocusCellBorderCursor to show move or resize mouse cursor on focused cell border +: Bool and Radio types now support custom icons defined by BoolIcon / RadioIcon B: Error tip of all error cells in Validate was set as ResultText of the first error cell B: Button Switch did not restore Changed state after clicked twice B: Moving row from deep tree as child to row under mouse could generate JS error B: Updated SafeCSS detection and changes to affect more CSS attributes, especially for box-sizing +: Added Buttons2 attribute to the JSON calendar to specify the buttons on second calendar page +: Added AutoSelect attribute to the JSON edit to restrict selecting the text on editing start +: Added value 3 to PersistentCfg to use session storage instead of local storage +: Added DragCopyId to not change row id when moving between grids B: In some browsers page scroll could change when grid became focused +: Added AlternateCount to color more rows on Alternate +: Added AlternateType to control restarting the color changing in pages and in tree B: Buttons were ignored in JSON MenuCfg and MenuColumns B: Pasting to Enum type did not work correctly +: Added cell attribute NoChanged to not mark the cell change after its editing B: Desc sort did not sort correctly strings with the same characters and different lengths +: Added row resizing by mouse dragging feature, attributes Resizing, Resized, action RowResize, function ResizeRow, event OnRowResize, event targets HeaderTop, HeaderBottom. The row Height change can be undone and also saved to output data. +: Extended Undo for changes in layout - resize row/col, select cells, focus cells, Sort/Filter/Search +: Added Actions ScrollColSize to specify the left / right space in column where will be the auto scroll during dragging started +: Button Type Icon can be shown also below or above the button text, side specified by IconAlign. +: Standard Toolbar buttons can show also caption as ButtonText, along with the icon, on side specified by IconAlign +: Added attribute ShowButtons to control all Buttons with both icon and text, to show only text, icon or both. Can be saved to cookies, can be changed by users in configuration menu. +: Added attribute ColorCursor to highlight hovered, focused and selected cells on specific side rows and columns +: Added API method SelectCell to select one particular cell +: Added API method ClearSelection to remove selection from the grid B: Row CanFocus=2 was ignored B: Deleting last column from column page could cause incorrect behavior +: Added RemoveColPage API method and extended AddColPage API method +: Cells can be dynamically spanned between column pages - the column pages are merged similarly to row pages +: Added column attribute NoUpload to not upload it when all columns are uploaded +: Upload_Attrs can be set to upload cell attribute(s), by items starting by * C: Column Spanned attribute is uploaded in Settings +: Added OnGetButtonList and OnShowButtonList API events to dynamically generate the Button List +: It is possible to edit cell without focusing it, updated StartEdit API method and added actions StartEditCell, StartEditEmpty and StartEditCellEmpty +: Extended AcceptEnters attribute to finish editing by Enter and placing new line by Ctrl/Shift/Alt + Enter +: Added EditSelect attribute to not select the edit input value on start in specified cases. On mouse click it places the edit cursor on the mouse click position. +: Added row CanExport value 2 to not export the row, but only its children +: Added column CanExport value 2 to not show it in export menu columns +: Added attribute SelectingFocus to automatically select focused cells and clear all others !: If set PrintSelected and SelectingCells, now it prints only columns containing selected cells +: Extended API method GetSelRanges to merge or split ranges on different row pages and column pages +: Added API method GetSpanned to get spanned rectangle for given cell +: Added API method MergeUndo to merge two last blocks of undo B: Cfg MaxHeight could cause various problems in complex page layouts C: If the grid is placed in absolute or floating tag, now it checks the main tag width and height set more precise +: Added Upload_Tag="Debug" option to print the uploaded data to debug window instead sending it to server B: Corrected various bugs in ColPagingFixed=0, especially in Chrome and its 1px bug C: If set ColPaging=2 and ColPagingFixed=0 in Pivot table, it does not group the columns to pages and uses the column paging more effective !: Default value of FirstWeekYearDay in Text.xml was changed from 3 to 0 for US week numbering to correspond with default US week starting Sunday C: Panel type column in Filter/Group/Search now accepts buttons defined in cell value C: Added padding to Space Button without setting Width B: TabStop input could be visible in IE7 as white box above grid B: Resize icon could be placed incorrectly when the grid was centered B: Hint was incorrectly shown for SpannedTree main column B: In IE10+ was double click followed by click event B: Copy selected could copy row into its children B: Synchronizing scroll in more than two grids was choppy +: Added 6th bit (32) to Undo to permit undo beyond save and also with AutoUpdate on +: Added options 9 and 10 to PasteFocused to paste to available rows and add the next +: Added options 3 and 4 to CopyCols to copy one focused cell, but all selected cells B: Grid was not rendered correctly in IE in frame/iframe if the main page and framed page had different document mode B: Pasting to number type cell ignored CanEmpty value, used always 0 B: Master grid cell remained hovered when hovered nested grid B: GetSelRanges did not test CanSelect of the edge columns B: Scrollbars did not show correctly when Safari or Chrome had auto hide scrollbars on 10.0.14 B: GanttStart cell was not updated when creating new main bar by dragging B: Dependency could be assigned to not editable box (if dropped to destination box). B: Change of GanttAncestors did not update the dependencies correctly B: GanttBase and GanttFinish could not be moved correctly B: GanttBase directly on chart start date was not displayed B: Focus by Up / Down keys did not work correctly between pages B: The grid could not be edited on iPad in IFRAME B: Empty string as Enum value in JSON menu broke the enum B: Grid froze if tried to format Infinity number B: Apostrophe in filter cell caused incorrect filter behavior if set Range and operator Contains B: MaxChildParts deleted actually edited cell if there were cleared more nested child parts B: Changing Text number value like 1234 to 01234 did not set Changed attribute of the row / cell 10.0.13 B: JS error when set GanttRoundUnits and some GanttLines B: Start dragging dependency shown vertical scrollbar shortly in some cases B: Dependency lag line was not correctly hovered B: Dependencies were not refreshed after dragging run box in some cases B: If moving run box was changed from Slide to Move and DragGanttLine=2, JS error was shown B: Dragging row in Chrome 36 caused JS error B: Removing actually edited page due MaxChildParts and MaxColPages caused JS error. Now edited page is never removed. B: ValueSeparator was ignored in Range EnumMenu and used always the '|' B: Lines type converted
to \n for editing B: Incorrect behavior if OnGetInputValue returned null B: Exporting spanned header with ColPagingFixed could freeze page B: Exporting column sections in ColPaging highlighted the second one as fixed. B: Parsing tag in JSON from server side could cause JS error in old IE B: Moving Spanned column outside column page could cause JS error B: If duplicate row id was automatically changed to be unique, the Undo was not merged B: Disposing grid during its loading could cause JS error B: If id column value was automatically changed after entering duplicate id, it produced two undo steps instead of one B: Entering date with default decimal separator '.' could be wrong if only one separator used (e.g. "1.1") 10.0 +: Added dependency colors and shapes defined by #color in GanttDescendants / GanttAncestors. Error and disabled dependencies can have defined different colors and shapes. +: The dependency icons (arrows and stubs) can be hidden by GanttDependencyIcons +: Dependencies are interactive, are hovered by mouse. Can show popup menu for dependency under cursor, to delete or change it. +: Added GanttDependencyTip to show tip for the dependency. !: Dependency API changed, the dependency API definition is different. Changed OnGetDependency, OnCheckDependencies, GetIncorrectDependencies, GetIncorrectConstraints, GetTasksToSchedule, OnCorrectDependencies. !: API GetDependency and SetDependency deleted and replaced by GetDependencies, DeleteDependencies, AddDependencies and TestDependencies +: Added dragging dependency events OnStartDragGanttDependency, OnEndDragGanttDependency, OnDragGanttDependency !: GetGanttXY returns different values for dependency +: Permitted more dependencies between two bars, by GanttDragDependenciesMore +: Individual Run boxes can have dependencies between them or between main bar and run box, even inside one row !: Scheduling algorithm rewritten. !: GanttStrict options changed, now usable 0, 1, 3. !: GanttStrict option 2 replaced by manual date (GanttManual, GanttRunManual, GanttRun - Manual) +: Added GanttDirection to schedule from start or from finish +: Updated critical path calculation, changed GanttSlack and added GetGanttSlack and OnGanttSlack API. +: Added new GanttRun definition by JSON format +: The individual Run boxes can have dependencies, resources and completion state if set GanttTask='Box' and can be also individually scheduled +: Added TextLeft and TextRight for individual Run box side text +: Added GanttRunJoined to specify actions for joined boxes +: The individual Run boxes can be selected by a user and copied, moved, changed or deleted together. By GanttRunSelect. +: Added API for selected boxes SelectGanttRunBox, SelectGanttRunRect, GetGanttRunSelectedBoxes, GetGanttRunSelectedCount +: Added GanttRunIds to generate Run boxes ids +: Added GanttRunLevels to drag run boxes to specified vertical levels +: Added action SplitGanttRun to split the Run box on click +: Added GanttRunErrorShift to shift error (overlaid) Run boxes vertically to show them all +: Added flag Entire to GanttRunMove to move all the Run boxes in row +: OnGanttRunDrop now can return new position for the drop +: Added between to GanttRunAdjust to better move run boxes between adjacent boxes +: Added nbsp to GanttRunAdjust to resize Nbsp boxes like Empty boxes +: Added noround to GanttRunAdjust to not round dropped box position to GanttDragUnits +: Added GanttRunClass to specify default CSS class for all boxes in row !: OnGetGanttRunRect is called also when calculating dependencies +: Added JSON format to GanttRun definition, identified by starting "[{" string !: GanttResources for Run replaced by GanttRunResources +: Added GetGanttRunResourcesString to be used when filtering resources set for individual Run boxes +: Main bar can be discrete, added GanttParts to define the individual parts. !: Deleted GanttFlow object, it is fully replaced by the GanttParts +: There can be more main bar plans in one Gantt cell, set by GanttCount and individual attributes GanttStartX, GanttEndX, GanttPartsX and so on +: Added GanttHtml to specify HTML content for main bar +: Added API for main bar - GetGanttMain, SetGanttMain, OnGanttMainChange, OnGanttMainChanged +: Added disabled and locked state for main bar, run bar and run box, by GanttDisabled, GanttRunDisabled and GanttRun - State (disabled+locked) !: Deleted GanttFormat and replaced by GanttHtmlLeft, GanttHtmlRight, GanttRunHtmlLeft, GanttRunHtmlRight !: GanttObject renamed to GanttTask. The dependencies and resources can be assigned to all objects in GanttTask, not only to the first one !: Complete and disabled state and manual date can be shown only for GanttTask +: Added GanttBottom to automatically resize row height according to the Gantt cell content +: Added GanttShift to horizontally shift the icons on the same place (milestones, flags and points) +: Added GanttDragLine to show the vertical lines during dragging any Gantt object including GanttRun +: Added GanttHoverIcons to specify icon shown on mouse hover above any Gantt icon (milestones, flags, points, constraints) +: GanttEdit can control also individual actions like move, resize, add, delete or correct !: The tasks with none of dependency, dependencycorrect and bar ...correct are ignored when scheduling, including their relation (dependencies and children) +: Added vertical position for every Gantt bar and icon and height for Main and Run bars. By ...Top and ...Height attributes. !: GanttClass now affects only main bar, other Gantt objects have their own ...Class attribute. +: Added GanttAdjacentBars to show the main and run bars adjacent without any space between !: GanttSummary='2' replaced by GanttSummaryType !: GanttSummary is now set to main bar plan, the "0" is first one. GanttSummary for run is set by GanttRunSummary +: Added GanttRunSummaryDependencies to mirror also dependencies for run summary boxes and functions ganttrundescendants and ganttrunancestors to calculate the summary dependencies. +: If GanttRunMove has set Slide and Move or Copy or Remove it does Slide horizontally and Move vertically +: Added horizontal GanttPaging - to render only visible (due scroll) part of Gantt chart. Maximal Gantt column width for paging increased to 1 193 049 pixels. +: Added custom GanttUnits by AddGanttUnits function, with support events OnRoundDate and OnIncDate +: Extended Pager type Gantt, added cursor showing actual horizontal scroll position. !: ZoomToPage in Pager was replaced by attributes Click and DblClick +: Added new value 4 to Click/DblClick attribute to choose the (first) zoom level with the same GanttSize as the pager PageSize +: Added Pager attribute ShowUsedPages to highlight pages containing some Gantt object +: Added Pager attribute ShowExcludedPages to highlight pages in excluded dates +: Added attribute GanttRoundComplete to round the completed duration in case of decimal number in percentage and round when set complete by click to the bar. C: GanttExcludeComplete is now used also for GanttRun +: Added attributes GanttHeaderMaxUnits and GanttBackgroundMaxUnits to control maximum units permitted in headers and background +: Added new action ZoomToBar and ZoomToAll to zoom to selected bar or to all objects in the cell. +: Added value 2 to GanttSmoothZoom not do smooth zoom in the first and last zoom level. +: width parameter in ZoomTo method can be set negative to zoom to the whole Gantt window minus this value. B: Creating new Run box by dragging was not rounded to excluded dates B: GanttWidth was not restored on default cfg when GanttZoom was not set C: Correcting Summary rows with dependencies now does not check the summary row itself, only its children. C: ZoomUndo ignores the same zooms in the queue B: Zoom by dragging in header worked incorrectly when mouse left the grid during dragging B: Change of Run box type by ChangeGanttRunBox did not change the box width in case of changing milestone to bar and vice versa B: The Run milestone text now cannot be edited by a user - to not change the icon C: All GanttCheck options are shown in configuration menu and are saved to cookies B: Calendars tag was incorrectly uploaded in JSON format !: The FastGantt is now boolean and affects all browsers +: Added new GanttUnits for months and years: M2, M4, y2, y3, y4, y5, y10, y20, y50 +: Added option 2 to GanttShowBounds to show the bounds only if they are defined - to hide the auto calculated bounds +: Added GanttConstraintsIcons to change constraint icons in individual rows +: Added GanttAddBackground to control row and column GanttBackground if defined both !: OnGanttMenuClick is called for all items, not only for custom ones +: Added GanttAvailabilitySplit to split the availability ranges +: Added GanttAvailabilitySum to show summed values for given units +: Added GanttAvailabilityShow to show only Availability values or bars +: Added GetZoomList API to get all zoom levels +: Gantt code is split to modules that can be excluded when compiling +: Gantt is updated for iPad and other tablets, to be controlled by one finger. Gantt Hover is used as focus cursor in iPad +: Added GanttUpdate variable to temporary disable Gantt display, but not calculations !: Gantt internal HTML height was increased from 500 to 5000 pixels to support rows higher than 500 pixels. C: Updated option select all in SelectGanttResources type +: Choosing actual option in SelectGanttZoom combo now zooms also to the selected zoom, defaults the GanttWidth +: Count of Gantt headers is not limited now and is specified by GanttHeaderCount +: Added GanttLines as movable vertical lines with custom color and tooltip, the same for the whole chart +: GanttBase and GanttFinish are now hovered and can have tooltip by GanttBaseTip, GanttBaseAutoTip, GanttFinishTip, GanttFinishAutoTip +: Added standard 17 colors and 11 gray classes for GanttBackground B: Run boxes were incorrectly rendered in row custom calendar when GanttHideExclude was 1 +: Added GanttRunBoxMinWidth, GanttRunBoxMinType and GanttRunBoxMinAlign to render or calculate run boxes wide at least on specified size +: Added GanttCorrectDependenciesButtons to display TreeGrid message instead of confirm() to let users to change also GanttCorrectDependencies +: Added Zoom options to Gantt menu. It is possible to assign the GanttMenu action also to header click events, usable especially for iPad +: Added GanttZoomChange to preserve GanttWidth after zoom change for GanttSize="0" and "" +: Added GanttZoomFit to control ZoomFit action +: GanttBaseCanEdit and GanttFinishCanEdit can be set to 3 to ignore exclude. +: Added GanttRunCustom to specify names of all run custom attributes, for GetGanttRunBox, SetGanttRunBox and also run JSON definition +: Added parameters left and maxwidth to OnGetGanttRunText and OnGetGanttHtml to specify actual visible area if the box is wider B: The drop position of run box in Slide was rounded to drag units on excluded dates +: Added ReversedTree attribute to display row tree like MS Excel summary outline, children above their parent. +: Added header main column cell attribute Levels to display tree level buttons like in MS Excel outline to show given tree level. +: Added TestIds attribute to set HTML id attribute for all cells, Gantt items and other TreeGrid parts. Usable for automated testing. !: Some of previous HTML ids used by TreeGrid were changed, especially in Gantt objects. B: In some cases Calculated rows ignored Formula in columns if CalcOrder was not set +: and can contain more items, comma separated. B: Column could not be moved to empty mid sec. B: Original value was not updated in CalculatedChanges on saving to server. B: When dragging selected rows with different default, only the first one was testing. B: Simple Formula containing if, for, try or with was corrupted if did not contain return. B: Bool button was partially inaccessible in Space rows with Tag or Space=-1 or 5 B: Dragging with right button did not run action with Right prefix in IE9 and IE10 B: Grid was incorrectly updated after resize in some cases +: Added OnRowCopyDef API event to suppress updating default value when copying row to another grid +: Added parameter move to OnRowCopyId API event +: Added parameter rows to OnCanDrop API event B: ActionOutdent incorrectly tested dropping permissions +: Added API event OnUpdate called whenever grid scrollbars are updated +: Added API event OnGetCalendarDate to modify in calendar the individual cell dates and CSS classes +: Added API method GetFilter to get actual filter settings +: Added actions IndentSelected and OutdentSelected B: AddPage did not work for empty grid B: JS error when Toolbar Formula cell was defined but set hidden B: Pager could not be resized by dragging left edge if there was only default pager B: Possible inconsistent state during asynchronous loading when both Rendering and Loading properties were false. Now it is possible only in OnReady event. C: Column named id now cannot be edited C: Added column does not set header caption to column Name if it is already set to something +: Added method CreateColPages to re-create column pages, useful after adding many new columns by API +: Added attribute CenterMessage to center all TreeGrid messages in page instead of the main tag. Useful for small grids. !: Copying, CopyDeleted, CanCopy and Copy attributes are now used also when copying rows between grids by dragging +: OnEndEdit now can change entered value. Useful for custom conversion of formatted input dates and numbers !: The exported HTML is now in UTF8 also in IE5,6,7,8, regardless on the page encoding B: Pivot could not change value in main grid when modified in pivot grid when the source column values were formatted. C: When printed with PrintedSelected the root tree is hidden. B: OnPrintClose was called correctly for printing in new window B: With FullId when moved row to the parent that's child has the same id part as the new row, the row id was changed and the row became inactive B: SaveSelected did not work for some ids +: Individual options in Enum items in MenuCfg can be hidden by defining their text as empty string B: Debug='Check' ignored Pager attributes B: MoveRowToGrid moved slowly rows with expanded children and incorrectly rows with collapsed children +: TreeGrid is compatible with Safari 7 B: Wrong identification of IE11 on some machines +: Added WhiteChars and CharCodes to SuggestType +: Added EditFormatType to specify Case, WhiteChars and CharCodes for EditFormat Text type +: Added GroupCount and GroupCount1 to to support Indian number format, grouping separator B: Number like 0.06 in Format "#.0000" shown as 600 C: For incorrect date format uses null instead zero B: Updated selecting menu items on iPad B: Configuration was saved incorrectly on tablets if not set ScrollAction +: Added API event OnCfgSaved B: Corrected loading XML with Static attribute B: Failed loading XML containing '{' in some cases B: PrintSelected was not uploaded for Settings Upload_Type +: Added SaveOrder option 2 to preserve changes order also in columns +: Added MoveMessage attribute to let TreeGrid messages to be moved by mouse. Only if compiled with LibMouse module. C: Popup grid now loads also Text source from its parent grid +: Added OnDatesClose API event called after Dates dialog is closed +: OnStartDrag and OnEndDrag are called with all dragged rows parameter C: Buttons, Texts and Separator JSON attributes for Range Enum can be set in EnumMenu C: For Button Type is Event Part "Button" instead of "Side" B: In iPad was unwanted click after alert or confirm message +: Added TestCellWidth API method to find out if the cell content is shown fully B: It was possible to paste to Enum cell not existing value +: Added PrintAddCSS attribute to add custom CSS style for printing B: Printing in Chrome sometimes did not load TreeGrid CSS style when report printed to popup window B: In IE9+ was incorrectly calculated height of row spanned cell C: Expand row does now not load children immediately if set ChildParts>=2 and ChildPartMin='0' C: When cell is higher than TreeGrid body, it shown from top when scrolling to it +: Added Cfg attribute PositionFixed to set it when TreeGrid is inside position:fixed tag(s) B: Row level could be incorrectly set when grouping with only one child +: OnLoaded API event can run asynchronous code !: TreeGrid style CSS file was split to two files, Grid.css and Gantt.css, the Gantt.css is loaded only when used Gantt chart. +: Added attribute GanttCSS to specify path to Gantt.css file B: In Chrome was forced SafeCSS=1 for zoom != 100% B: Calculating was switched off when there were only Calculated rows, not column Formulas +: Added attribute MaxCalcWidh to specify count of rows to calculate column width, default value is 100 B: Focus show or Search Find did not scroll exactly to the row when used ChildParts in complex tree B: Pivot thrown JS error in some cases when master grid was grouped B: Row height calculation could be incorrect in IE due font subpixel rendering. Added attribute Cfg PreciseHeights to force precise calculation when automatic one fails. +: Grid is updated for iPad and other tablets, to be better controlled by one finger +: Added TouchDragFocused and TouchClearFocused attributes to control grid by one finger on iPad +: Added actions ScrollAuto and ScrollTouch to mix TreeGrid and default iPad scroll in different directions +: Added Tabber2 space row kind without white background for empty space C: If not set global CalcOrder and there are more calculated fixed rows and only one has CalcOrder, this CalcOrder is not used as global CalcOrder now. B: FullId was ignored when reading tag on grid loading B: could incorrectly update Space rows +: Added action OnSame called instead of OnChange when the edited value was not changed. Useful to do something after choosing actual item in Defaults or Enum. B: Space row with Space=1 and 2 was incorrectly processed in some browsers B: Showing Cfg and Columns menu did not close actual dialog +: OnCfgChanged event now can return request for update view !: Hover classes for space Bool and Select types were modified and renamed B: Grid was broken down when ConstWidth or RelWidth column was the only visible column in middle section. +: Added Grids.Tablet variable to know if the grid runs in touch screen mode B: Prompt function was included only in Gantt module B: PrintLocation=3 did not work in Chrome B: Changes loaded on grid start were not processed for fixed and space rows B: Accepted flag in Upload_Flags was reported as unknown B: Group row could get existing id, if some data row had it B: Simple attribute was reported as unknown in debug check B: Height of input in menu was not correctly calculated due subpixel rendering in IE B: Action set to "" in cell or row did not suppress action defined in row or default row B: When printed grid without visible data rows to PDF, the NoData row was not shown B: Wide Gantt chart in focused row did not show resize cursor on bar edges 9.3.15 B: Dragging in Chrome 36 cause JS error. B: Prompt method was included only Gantt module 9.3.14 B: Calendars tag was incorrectly uploaded in JSON format B: PrintSelected was in uploaded in Settings flag B: If set PrintSelected, not all selected rows in tree were printed B: In Chrome printed grid sometimes did not load CSS style B: If set ConstWidth==1,2,3 and there was hidden the last variable column, the grid was broken down 9.3.13 B: Corrected changing tasks with GanttSummary=2 9.3.11 B: Corrected bug in showing vertical scrollbar in Safari7 / iOS7 9.3.10 +: TreeGrid is compatible with IE11 B: Custom Icon in GanttRun was repeated in bigger space B: Correcting Summary rows with dependencies was buggy. But the dependencies to summary tasks are still limited. B: On selecting cells the grid was not scrolled horizontally on dragging over edges. B: Width of columns containing RowSpan was calculated incorrectly B: Icon Check was not correctly hidden with column in IE10 9.3 +: Updated GanttFlags. Now it can show text next to the icon or only the text. Also added custom API events to generate the flag icon and content +: Flags can be dragged also to different row, if set GanttFlagsMove=2. Update accordingly also API events for dragging. +: Added GanttRunMinWidth attribute as minimal width of the run in pixels to render it. B: RunGroupHover did not work since 9.0 +: To ganttrunsum were added new parameters cond and type like in other aggregate functions C: Run box returns and accepts also "id" parameter instead of "Id". Just to not confuse with other id attributes. B: FindGanttRunBoxes worked incorrectly when run box separator was not comma +: Added OnGetGanttRunClass and OnGetGanttRunRect to dynamically change the class, position and size of Run box B: OnGetGanttRunBox returned incorrect Start and End if set GanttHideExclude='1' +: Added GanttRunStates value 2 to clear the changes in Run after saving to server !: SetGanttRunBox now checks the adjust parameter more precise, including "Move" and "Resize" flags B: During dragging Gantt bar wider than maximal tag width browser's restriction in IE7 showed very wide bar B: Moving Gantt Run boxes placed before baseline or another constraint could lead to JS error +: The dependency lag and span can be in percent as percentage of the bar length (in workdays) +: Added OnGetDependency API event to modify particular dependencies, especially lag value +: Added attribute GanttFitVisible to calculate Gantt size according to visible rows only +: Added GanttAvailabilityJoin attribute to not join the adjacent ranges with the same value in availability chart +: Added GanttAvailabilitySum attribute to show summary values in the availability chart range instead of per unit values +: Added GanttAvailabilityTransparent attribute to show bars transparent or not, as it causes problems in Firefox B: Values in GanttAvailability chart was not shown when displayed on block with opacity. +: Added attribute GanttTextOverlay to not show texts in Gantt bars above the next bars B: GanttBase and GanttFinish were not updated correctly in some cases B: GanttBase auto could be incorrectly calculated when grid contained empty rows B: Return value false from OnDragGantt was used as 0 B: ganttrunsum worked incorrectly when set GanttLastUnit B: Dragging joined Run box with action Slide to fixed box could be calculated wrongly B: OnDragGantt was called also with different attributes like XML event B: Resources were not updated after task change if there was no dependency column defined B: CorrectExclude ignored GanttLastUnit +: Extended run groups to load other Run attributes from children, added attributes GanttSummaryCols, GanttSummarySeparators and GanttSummaryCDef. +: Updated ganttrunsum Formula function. Now it can calculate also Text, Tip and Class Run attributes B: Gantt chart was not shown correctly in IE in zoom bigger than 200%. Now it is supported up to 500%. +: Added Zoom flag to Sync attribute to synchronize zoom levels B: Corrected synchronizations flags Horz and Vert in Sync +: Correcting dependencies has been sped up, especially for many dependent tasks. +: Added method SetGanttShowDependencies to change the value dynamically B: GetGanttResourceCount generated JS error when called for range after the last resource B: Dragging Run bar edge could jump during dragging in some cases B: Calling ChangeExclude when no GanttExclude defined on start could cause JS error B: Gantt chart size (for GanttSize='0') was not shrunk if the bar was deleted B: Not editable point could be dragged B: GanttRun box was dragged not rounded to GanttUnits if Gantt chart started on incomplete unit B: Changing constraint in summary row did not update children immediately !: ganttresourceunits Formula function now returns also units allocated in extra units (defined as "resource+count") C: MaxHeight is now compatible with MaxVScroll +: Added ColPagingFixed to not (col) page fixed rows. Usable for spanned headers among the column pages. +: ExpandRows attribute accepts also name of Default row to control all rows with this default +: Added ButtonClick method to simulate click the Button Type cell B: Sometimes the scroll position in grid was not preserved +: Bool type EmptyValue added options 3 and 4 to cycle only 0 and 1 C: Bool type can be merged, but still cannot be edited B: Updated behavior of Cfg MaxHeight='1', MaxVScroll and NoVScroll in Firefox with zoom!=100% B: Empty value was incorrectly set in filter by Defaults dialog for Date/Int/Float types B: Filter in Enum cell ignored FilterValue/OnGetFilterValue if set FilterEnumKeys B: TreeGrid could cause problems in SharePoint by defined JavaScript function SetEvent B: Setting 0 in print dialog to Print page width or height caused hiding the option in next print dialog B: Today was incorrectly marked in calendar if set GMT='1' in some timezones B: Grid sometimes disappeared in IE10, document mode 8 +: Added value 32 to not refresh the changed cell, useful when editing B: Filter cell with empty value in Date cell showed NaN, also when set from Default dialog B: ServerSuggest could not change the Format / EditFormat attribute from server +: Added Icon/Button value "Check" to show three states checkbox. In tree it controls its children. +: Added Align value "Scroll" to center the text according to actual horizontal scrolling. Only for fixed rows. B: Row spanned cell were incorrectly exported to XLS B: If the first cell was empty when exporting to CSV, the other cells were shifted left C: Removed padding for empty Button with Icon (= image Button) C: SetNoTreeLines now calls RenderBody instead of Render B: Grid froze when set AutoVersion and many columns with long names +: Added method RefreshNested to refresh nested grid after change in source data by API B: tag was missing in upload XML for Upload_Type Cols and Settings when set ColPaging='2' ColPageMin='0' B: Creating pivot failed if some source cell value contained apostrophe B: Ungrouping without focus when was focused group row can lead to JS error B: If called Render or RenderBody during some child part was rendered, the child part was not rendered next time C: DropCols show column caption instead of name also in Pivot grid, if the caption is defined in master grid +: Added cell type SelectPivot to select predefined pivot into PivotRows/Cols/Data. Done especially to show column captions instead of names +: Added events OnPivot and OnPivotFinish called before and after creating the pivot XML B: PivotFilter did not work correctly when set StandardFilter B: Height of cell with RowSpan could be incorrectly calculated in Firefox +: Saves to cookies Pivot settings and does not save columns in pivot grid B: Validate did not focus the first incorrect cell, but the cell in the first column according to initial definition C: For Rotate='2' the left icon places always with align "Right" +: Added flag 'Sec' to Sync attribute, to synchronize resizing column sections between grids B: Corrected JSON Format for Text type with Range='1' +: Added method RecalculateRows to recalculate only given rows +: Added filter cell attribute EqualFormatted to avoid not found rounded numbers due Format. +: Added PivotValue attribute and OnGetPivotValue API to replace the cell value when creating pivot !: Pivot now creates the captions (created by PivotRows/PivotCols) from cell formatted strings, not only cell values. B: When set AutoUpdate in master grid, some changes in detail did Save per every change. +: Added UpCounter attribute to show row up-counter column with row numbers always from 1 increased by 1. B: Bool type was not shown in Header row except defining ClassInner B: AutoFill filled also collapsed children B: VarHeight did not work in some cases when hiding / showing the column +: Added MaxChildrenMin attribute to not create too small last page for MaxChildren B: JSON Format for Text type return empty string for 0 B: After selecting Defaults configuration in cfg menu, the configuration was not saved. Caused problems especially in server paging. B: Selecting Defaults cfg in cfg menu cased JS error in some cases +: Added event OnCalculateFinish called after finished calculation or recalculation B: JS error in some cases when added new column to grid xml and loaded old configuration without this column. B: Dragging between grids by right mouse button showed popup menu on drop B: Hint showed for wide Pages type cell and blocked its function B: Wide Pages type cell did not show scrollbar in IE B: Remove row did not remove child row ids from Rows C: Side spaces in Cells array are removed now B: Showing foot section failed when shown left/right section splitter B: JsonP data source did not work in IE6,7 if grid created during page loading by TreeGrid function B: Scrolling by dragging scrollbar did not work correctly on Android tablets +: Added attribute RemoveChanged to control removing changed rows on RemoveCollapsed and RemoveUnusedPages B: Pasting more empty rows did not work correctly in IE8 and lower +: Added attribute IgnoreIdNames to not use IdNames for particular rows +: Updated SelectingSingle attribute to restrict unselecting selected row and to clear selected rows on start B: SetScrollLeft, SetScrollTop and ScrollToDate did not update grid automatically when using custom scrollbars B: Row height was incorrectly updated for RowSpan in IE8 strict +: Updated copying large grids to clipboard, added CopyTime attribute B: Values like a number (e.g. 000 or 10E17) were not shown in HTML type B: Message Creating Gantt was shown also in Grid without Gantt chart C: Column hidden due cookie setting is now set as Hidden when set FastColumns B: HideParentCol in column tree could incorrectly set ExpandLevel B: Rotate='1' did not work in IE10 document mode 9. 9.2.12 B: GetGanttRunBoxTag returned incorrect box when the boxes were not shown due zoom B: OnGanttRunBoxChanged was called incorrectly for box started on Gantt beginning B: Moving Run box before the first Run box ignored Adjust settings B: Gantt position was not saved to cookies on click to Gantt pager in ZoomToPage=0 and 2 B: TreeGrid is now compatible with Firefox 20 B: Column positions were saved to cookies incorrectly in column paging B: Rows could not be moved as child to parent with only hidden children (especially in master / detail) B: JS error on editing Enum contained apostrophe B: RTL mode worked incorrectly in IE10 document mode IE5 and IE7 B: Rotated attribute did not work with row MaxHeight set B: When moved configuration menu by mouse dragging its header the menu was placed incorrectly B: When grid filter returned no rows, the next filter did not work in large tables B: Spanned cells were incorrectly updated when added new column in some cases B: Side icon in Button Type did not work B: In IE strict was expand button inactive after expand in some cases B: Search case insensitive was not applied to the first keyword 9.2 +: Added OnGanttChange API event called before any change in Gantt chart, possible to cancel the change !: OnGanttChanged API event for Main bar sets duration only if GanttEnd is not defined, otherwise it sets the end +: Added GetDependency and SetDependency API methods to easily change the dependencies by API +: Added GanttSizeOver and GanttSizeOverTouch to specify outside space to focus a task (main/flow/run). If set to the same value as GanttSize / GanttSizeTouch, it permits resizing tasks by dragging near outside the task and moving tasks by dragging inside the task. B: GanttBackground was shifted by 1px in fixed rows in Standard style +: Added SortRanges attribute to compare ranges by their items without order when setting Changed attribute. Usable especially for Gantt dependencies +: Updated GanttIcons attribute to show custom icons on one or both sides of main bar +: Added GanttSizeFit attribute to calculate the GanttWidth to show exactly one GanttSize in available space +: Added action SplitGanttFlow to permit splitting flow bar to two pieces on mouse position. Action added also to Gantt popup menu B: Gantt Background in fixed rows were incorrectly refreshed in Firefox in some times B: Checking Gantt constraints after changing GanttStart could change the date wrongly in some Exclude dates !: Resource usage chart is by default calculated only for visible (not filtered) rows B: Run bars in summary row could be accidentally moved after moving some child bar B: Run bar sizes and spaces were incorrectly rounded in some cases after moving new bar into the row B: GanttExcludeComplete results were sometimes incorrectly rounded +: Added new feature - Pivot table +: DropCols type was extended, to support dragging items between such cells or dragging column captions here. Various controlling attributes and events added. +: Updated Format/EditFormat attributes for Text, Lines, Html and DropCols type. It can be also JSON array to replace items by other items in display. Usable for value/key pairs in Defaults and Suggest dialogs. +: The column sections can be now resized by the full high splitters instead of the small splitters between scrollbars. It can be controlled by SectionResizing attribute. C: The section resizing behavior slightly changed, updated also LeftCanResize and RightCanResize attribute for better controlling. B: TreeGrid did not work in IFRAME in some cases B: Exported PDF split pages unwanted in some cases, especially in deep tree B: Group attribute was incorrectly checked in ColPaging B: Expanding column recalculated the whole B: AutoUpdate with server changes uploaded the changes again B: Column names were not checked (debug='check') against row attributes B: Temporary hint tag was not cleared in Firefox, if the cell contained custom HTML code with tag ids, the ids were duplicated B: RenderBody did not clear the rendered column pages and child parts, therefore filter, sort or group could cause error when used Paging + ChildParts + ColPaging +: Added attribute ShowHiddenBorder to show border for collapsed columns, usually for header rows B: Hidden attribute did not work in Firefox +: Added ShowEnumHeader to support showing Enum type like Select type +: Possible to show Select like Enum type B: Now TreeGrid editing works correctly in modal jQuery dialog B: TreeGrid did not show standard scrollbars in new Mac OSX Mountain Lion with auto-hide scrollbars feature on B: JS error is used MaxChildren and ConstWidth and filter or sort C: Now MinHeight can be set lower than standard row content height when set LeftHtml, MidHtml and RightHtml +: Added value 2 to CalculatedChanges, it marks as changed also the cell calculated for first time if resulted to different value B: In some browsers the OnClick / OnDblClick events were called twice when clicked to the grid cursor (only for relative cursor) !: Validate now finishes editing of cell with Result mask - otherwise it was testing wrong value +: OnAfterColResize event gets also row where the column was resize and the change in pixels B: Row id could not contain ' or " B: Copy tree copied also children with CanCopy=0 B: JS error when server deleted one row as the only changed row B: If set Selected='0' in server it selected the row +: Added Formula aggregate functions join, sumjoin and joinsum to sum strings B: Row color classes were not updated correctly B: Grid did not accept correctly full ids in input XML when set FullId='1' !: Column MaxWidth is now applied when auto calculated column width C: Sync='2' requests are now queued and they are processed in the order they started +: Added data source attribute xxx_Jsonp to download json or XML data as JavaScript in