lbSortBy: Difference between revisions
Jump to navigation
Jump to search
Killzone Kid (talk | contribs) No edit summary |
Lou Montana (talk | contribs) m (Fix) |
||
(13 intermediate revisions by 2 users not shown) | |||
Line 6: | Line 6: | ||
|gr1= GUI Control - ListBox | |gr1= GUI Control - ListBox | ||
| | |descr= Sorts given ListBox by either [[lbText]], [[lbValue]] or [[lbData]] in normal or reversed order, using case-sensitive or case-insensitive comparison. This command supports UNICODE characters. | ||
When sorting by {{hl|"VALUE"}}, the rows with the same [[lbValue]] will additionally be sorted by [[lbText]] in the order specified by `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 [[lbSortBy]] [sortByType, reversedOrder, caseSensitive, useTextRight, unicodeOff] | |||
| | |p1= controlOrIDC: [[Control]] or [[Number]] - the ListBox control or its IDC | ||
| | |p2= sortByType: [[String]] - (Optional, default "TEXT") one of: | ||
* {{hl|"TEXT"}} | |||
* {{hl|"VALUE"}} | |||
* {{hl|"DATA"}} | |||
| | |p3= reversedOrder: [[Boolean]] - (Optional, default [[false]]) [[true]] for sorting in reversed order | ||
| | |p4= caseSensitive: [[Boolean]] - (Optional, default [[false]]) [[true]] for using case-sensitive comparison | ||
| | |p5= useTextRight: [[Boolean]] - (Optional, default [[false]]) [[true]] to sort by [[lbSetTextRight | text right]] | ||
|p6= unicodeOff: [[Boolean]] - (Optional, default [[false]]) [[true]] to switch off UNICODE conversion for faster sorting | |||
|p6= | |||
|r1= [[Nothing]] | |r1= [[Nothing]] | ||
|x1= < | |x1= <sqf> | ||
with uiNamespace do | |||
{ | { | ||
private _lb = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscListBox", -1]; | |||
_lb | _lb ctrlSetPosition [0,0,1,1]; | ||
_lb | _lb ctrlCommit 0; | ||
lbClear _lb; | |||
{ | { | ||
_lb | _lb lbAdd (_x select 0); | ||
_lb | _lb lbSetValue [_forEachIndex, _x select 1]; | ||
} | } | ||
forEach [["В",1], ["Я",0], ["Б",1], ["Ю",0], ["А",1]]; | |||
_lb | _lb lbSortBy ["VALUE", false, false]; | ||
};</ | }; | ||
</sqf> | |||
|seealso= [[lnbSortBy]] | |seealso= [[lnbSortBy]] [[lnbSort]] [[lnbSortByValue]] [[lbSort]] [[lbSortByValue]] [[tvSort]] [[tvSortByValue]] [[sort]] | ||
}} | }} |
Latest revision as of 18:24, 5 May 2022
Description
- Description:
- Sorts given ListBox by either lbText, lbValue or lbData in normal or reversed order, using case-sensitive or case-insensitive comparison. This command supports UNICODE characters. When sorting by "VALUE", the rows with the same lbValue will additionally be sorted by lbText in the order specified by `reversedOrder` flag, text specified by `useTextRight` flag and case-sensitivity specified by `caseSensitive` flag.
- Groups:
- GUI Control - ListBox
Syntax
- Syntax:
- controlOrIDC lbSortBy [sortByType, reversedOrder, caseSensitive, useTextRight, unicodeOff]
- Parameters:
- controlOrIDC: Control or Number - the ListBox control or its IDC
- 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 _lb = findDisplay 46 createDisplay "RscDisplayEmpty" ctrlCreate ["RscListBox", -1]; _lb ctrlSetPosition [0,0,1,1]; _lb ctrlCommit 0; lbClear _lb; { _lb lbAdd (_x select 0); _lb lbSetValue [_forEachIndex, _x select 1]; } forEach [["В",1], ["Я",0], ["Б",1], ["Ю",0], ["А",1]]; _lb lbSortBy ["VALUE", false, 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