lnbSortBy: Difference between revisions
Jump to navigation
Jump to search
Lou Montana (talk | contribs) m (Text replacement - " \| *(game[0-9]|version[0-9]|gr[0-9]|serverExec|mp|pr|descr|s[0-9]|p[0-9]{1,3}|r[0-9]|x1?[0-9]|seealso) *= +" to " |$1= ") |
Lou Montana (talk | contribs) m (Text replacement - "{{Feature|Important|" to "{{Feature|important|") |
||
(15 intermediate revisions by 3 users not shown) | |||
Line 6: | Line 6: | ||
|gr1= GUI Control - ListNBox | |gr1= GUI Control - ListNBox | ||
| | |descr= Sorts given multi-column ListNBox in the given column by either [[lnbText]], [[lnbValue]] or [[lnbData]] in normal or reversed order, using case-sensitive or case-insensitive comparison. Unlike the older '''lnbSortXXX''' commands, this command supports UNICODE characters out of the box.<br> | ||
When sorting by {{hl|"VALUE"}}, the rows with the same [[lnbValue]] will additionally be sorted by [[lnbText]] in the order specified by the ''reversedOrder'' flag, text specified by `useTextRight` flag and case-sensitivity specified by `caseSensitive` flag. | |||
| | {{Feature|important| | ||
* This command supports referencing control via IDC as well, but as with any use of IDC in UI [[Control]] commands, a [[dialog]] should be present, i.e. UI user interaction is created with [[createDialog]] rather than [[createDisplay]]. | |||
* As this command supports UNICODE by default, which may result in slower sorting, you can switch it off with {{hl|unicodeOff}} param. | |||
}} | |||
|s1= [controlOrIDC, column] [[lnbSortBy]] [sortByType, reversedOrder, caseSensitive, useTextRight, unicodeOff] | |||
| | |p1= controlOrIDC: [[Control]] or [[Number]] - the ListNBox control or its IDC | ||
| | |p2= column: [[Number]] - column to sort (starts with 0) | ||
| | |p3= sortByType: [[String]] - (Optional, default "TEXT") one of: | ||
* {{hl|"TEXT"}} | |||
* {{hl|"VALUE"}} | |||
* {{hl|"DATA"}} | |||
| | |p4= reversedOrder: [[Boolean]] - (Optional, default [[false]]) [[true]] for sorting in reversed order | ||
| | |p5= caseSensitive: [[Boolean]] - (Optional, default [[false]]) [[true]] for using case-sensitive comparison | ||
| | |p6= useTextRight: [[Boolean]] - (Optional, default [[false]]) [[true]] to sort by [[lnbSetTextRight | text right]] | ||
| | |p7= unicodeOff: [[Boolean]] - (Optional, default [[false]]) [[true]] to switch off UNICODE conversion for faster sorting | ||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
|x1= < | |x1= <sqf> | ||
with uiNamespace do | |||
{ | { | ||
private _column = 1; | |||
private _lnb = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscListNBox", -1]; | |||
_lnb | _lnb ctrlSetPosition [0,0,1,1]; | ||
_lnb | _lnb ctrlCommit 0; | ||
lnbClear _lnb; | |||
{ | { | ||
_lnb | _lnb lnbAddRow [format ["Row %1", _forEachIndex], _x select 0]; | ||
_lnb | _lnb lnbSetValue [[_forEachIndex, _column], _x select 1]; | ||
} | } | ||
forEach [["В",1], ["Я",0], ["Б",1], ["Ю",0], ["А",1]]; | |||
[_lnb, _column] | [_lnb, _column] lnbSortBy ["VALUE", true, false]; | ||
};</ | }; | ||
</sqf> | |||
|seealso= [[lbSortBy]] | |seealso= [[lbSortBy]] [[lnbSort]] [[lnbSortByValue]] [[lbSort]] [[lbSortByValue]] [[tvSort]] [[tvSortByValue]] [[sort]] | ||
}} | }} |
Latest revision as of 00:24, 2 February 2024
Description
- Description:
- Sorts given multi-column ListNBox in the given column by either lnbText, lnbValue or lnbData in normal or reversed order, using case-sensitive or case-insensitive comparison. Unlike the older lnbSortXXX commands, this command supports UNICODE characters out of the box.
When sorting by "VALUE", the rows with the same lnbValue will additionally be sorted by lnbText in the order specified by the reversedOrder flag, text specified by `useTextRight` flag and case-sensitivity specified by `caseSensitive` flag. - Groups:
- GUI Control - ListNBox
Syntax
- Syntax:
- [controlOrIDC, column] lnbSortBy [sortByType, reversedOrder, caseSensitive, useTextRight, unicodeOff]
- Parameters:
- controlOrIDC: Control or Number - the ListNBox control or its IDC
- column: Number - column to sort (starts with 0)
- sortByType: String - (Optional, default "TEXT") one of:
- "TEXT"
- "VALUE"
- "DATA"
- reversedOrder: Boolean - (Optional, default false) true for sorting in reversed order
- caseSensitive: Boolean - (Optional, default false) true for using case-sensitive comparison
- useTextRight: Boolean - (Optional, default false) true to sort by text right
- unicodeOff: Boolean - (Optional, default false) true to switch off UNICODE conversion for faster sorting
- Return Value:
- Nothing
Examples
- Example 1:
- with uiNamespace do { private _column = 1; private _lnb = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscListNBox", -1]; _lnb ctrlSetPosition [0,0,1,1]; _lnb ctrlCommit 0; lnbClear _lnb; { _lnb lnbAddRow [format ["Row %1", _forEachIndex], _x select 0]; _lnb lnbSetValue [[_forEachIndex, _column], _x select 1]; } forEach [["В",1], ["Я",0], ["Б",1], ["Ю",0], ["А",1]]; [_lnb, _column] lnbSortBy ["VALUE", true, false]; };
Additional Information
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note