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 |