Hi, Boki:
Consider this post a summary of what events, properties and methods that I will need to be included in NextGrid6 or their functional equivalents so that I can compile my application as I move from using NextGrid5. My intent here is to make it easier for others following this series of posts, too.
Events:
Below events are only the ones that I use and if a ? indicate that I need the NG6 replacement
OnHeaderDblClick = ?
OnCellHint = ?
OnChange = ?
OnApplyEditText = ?
OnEdit = ?
OnCustomDrawHeader = Col.OnDrawContent, OnDrawBackground? Boki, does either of these two replace the event?
OnHeaderClick = Column.OnHeaderClick? Col.OnHeaderButtonClick? Boki, which is the best replacement?
OnSelectCell = OnSelect
OnCellColoring = ActiveView.OnGetCellColor (different State param)
NxReportGridView61GetCellColor(Sender: TObject; ACol, ARow: Integer; var CellColor: TColor; State: TNxCellPaintingState);
TNxCellPaintingState = set of (csSelected, csFocused, csEmpty, csPressed)
OnEditText = ?
OnCellFormating = Columns.OnSetCell procedure TForm1.NxTreeColumn61SetCell(Sender: TObject; ACol, ARow: Integer; Cell: INxBaseCell); THE PROBLEM IS THAT CELL does not have Font settings! Need to reference the Columns(ACol).Font Boki said he would replace the OnCellFormting event.
OnExpand = OnRowExpandedChange
OnColumnResize = Column.OnResize? Boki, is this the replacement?
OnBeforeEdit = OnBeforeEdit with the addition in NG6 of the param, Text.
OnBeforeSelect = OnBeforeSelect with the addition in NG6 of the params Key and Shift.
OnCellClick = OnCellClick with the addition of Button (mouse button)
OnVertical/HorizontalScroll = OnVertical/HorizontalScroll in NG6, but the param POSITION is missing. I use this param and need a replacement
Property Settings:
TAppearanceOptions: as far as I can tell none of these exist in NG6; not sure they even apply to the newer looking grid. I have removed reference to these options in my application until what is available is more clear.
* = denotes the AO's that I actually use in NG5
*ao3DGridLines = ?
*aoAlphaBlendedSelection = ?
*aoBoldTextSelection = ?
aoDontFillCells = ?
aoHideFocus = ?
aoHideSelection = ?
aoHighlightSlideCells = ?
aoHintMarks = ?
*aoIndicateSelectedCell = ?
aoIndicateSortedColumn = ?
TGridOptions: for these options, all the ones that I use in NG5 are available in NG6. For my application to compile right now I do not need any of the missing options.
goArrowKeyExitEditing = ?
goCanHideColumn = ?,
goDisableColumnMoving = ActiveView.ColumnMoving = false
goDisableKeys = ?
goEscClearEdit = ?
goFooter = ActiveView.ShowFooter
goGrid = ActiveView.GridLines
goHeader = ActiveView.ShowHeader
goIndicator = ActiveView.ShowIndicator
goInput = ?
goLockFixedCols = ?
goMultiSelect = Grid.MultiSelect := Boolean;
goRowResizing = ActiveView.RowResizing
goRowMoving = ActiveView.RowMoving
goSecondClickEdit = ?
goSelectFullRow = Grid.SelectFullRow := Boolean;
goUseDefaultValues = ?
goInplaceEditEvents = ?
other options:
HeaderSize = ActiveView.HeaderHeight
RowSize = RowHeight
SelectionMoveDirection: no longer
HeaderStyle = hsVista,, hsAuto DO NOT USE any longer
InnerWidth = ?
GridSpace = ?, Undocumented property in NG5, but something I use to find the exact size of a grid.
ReadOnly = ?
VisibleRows = ?
SelectedColumn = SelectedCol
Column.Options: Now are set via property settings rather than via the set
ShowTextFitHint := boolean
MultiLine := boolean
Editing := boolean
EditorAutoSelect = AutoEditing Is this same Boki?
DefaultWidth = use Width instead
DefaultValue = in NumberCols is a number, not a text number in DFM
Increment in Number Col, does not exist it is now “Incrememnt” MISSPELLING
ShowLines = True; for NxTreeColumn; this is not a publised property, but available as a property to set.
Progress.RoundedCorners: NO LONGER
Header options:
Header.Orientation = hoHorizontal, hoVertical now: orHorizontal, orVertical
WrapKind: this property is only in some columns which makes doing a generic Columns[x].Wrapkind := wkWordWrap impossible without knowing the column class in advance. Boki, can you fix this?
coEditing = Columns[x].Editing := Boolean
coCanClick = ?
coCanInput = ?
coPublicUsing = NA
coShowTextFitHint = Col.ShowTextFitHint = true
coCanSort = Col.Sorted ?
coEditorAutoSelect = Column.AutoEditing := Boolean
coAutoSize = Column.AutoSize = boolean
coSearchColumn = ?
coImageForIcon = ?
coFixedSize = col.FixedWidth
coDontHighlight = (number col)
Editor = InPlaceEdit ? Noticed that a CheckBox Column cannot use a nxCheckBox editor, why is that?
Methods:
Cell[].Clear =?
ApplyEditing =?
GetRowAtPos =?
GetColumnAtPos =?
GetColumnAtPos.VisibleIndex =?
IsTextFit =?
GetCellRect =?
GetCellTop =?
GetChildCount =?
GetParent = ?
FirstChild = Row(x).ChildRow(0), would be helpful to have FirstChild
RefreshRange =?
NoSelection (deselects rows) =?
RefreshColumn =?
SelectLastRow =?
MoveSelectionDown =?
MoveSelectionUp =?
GetNextSibling, GetPrevSibling = Row(SelectedRow).NextSibling;
FirstRow = TNxReportGridView6(ActiveView).FirstIndex or NxReportGridView61.FirstIndex
Expanded() = Row().Expanded
ScrollToRow() = ActiveView.ScrollToRow()
GetFirstChild(Arow) = Grid.Row().ChildRow(0) ; FirstChild would be nice
GetLastChild() = ?
Grid.GetLevel = Grid.Row(x).GetLevel
HasChildren(x) = Row(x).HasChildren
Expanded[x] = Row(x).Expanded
Miscellaneous:
TNxMemoInplaceEdit does not seem to exist in NG6
TNxToolBar6 is quite different from the NG5 equivalent:
TNxSeparator is now a property setting of each added Button to the ToolBar, the buttons do not have a OnClick event, rather the ToolBar has a OnButtonClick event with Index as a parameter. It is not clear, but I am assuming the Index refers to the button index. The problem is that that OnButtonClick does not seem to functioning at all.
Thank you, Boki for a great upgrade to NG5!