{"name":"BIS_fnc_initListNBoxSorting","title":"BIS fnc initListNBoxSorting","type":"function","url":"https://community.bistudio.com/wiki/BIS_fnc_initListNBoxSorting","revid":349789,"updated":"2023-11-20T22:10:14Z","groups":["GUI"],"status":"ok","games":{"arma3":"1.56"},"since":"arma3 1.56","arma3_since":"1.56","description":"Automatically creates buttons and sets them up so they can be used to sort a CT_LISTNBOX. The buttons will automatically be resized to fit the column width of **ctrlFilter**.\n\nBy default, the **ctrlContent** columns are sorted by lnbText (using lnbSort). If a specific column should be sorted by lnbValue (using lnbSortByValue) instead, then something needs to be set in the data of the corresponding **ctrlFilter** column (literally *something*, the condition in the source code is `(_ctrlFilter lnbData [0, _i]) != \"\"`).\n\nRegarding **ctrlFilter**:\n\n- The position and size of this control define where the buttons for sorting are created, thus it should be placed above **ctrlContent** and its columns should have the same size as the columns of **ctrlContent**.\n- The text set in the columns is displayed as text for the buttons (the buttons are actually transparent).\n- The control can also be part of a CT_CONTROLS_GROUP. If that is the case, the buttons will be created as children of that group.\n- To keep a uniform style between vanilla and custom controls it is recommended to create a background with CT_STATIC behind **ctrlFilter** with `colorBackground[] = { 0, 0, 0, 1 };`.\n\nSee CT LISTNBOX - BIS_fnc_initListNBoxSorting Example for a full example including a config.","syntaxes":[{"syntax":"[ctrlFilter, ctrlContent, columnIndexes, idc] call BIS_fnc_initListNBoxSorting","params":[{"name":"ctrlFilter","type":"Control","description":"dummy CT_LISTNBOX control used for setting up the filter.","type_expr":"Control"},{"name":"ctrlContent","type":"Control","description":"the CT_LISTNBOX which actually contains the sortable content.","type_expr":"Control"},{"name":"columnIndexes","type":"Array of Numbers","optional":true,"default":"[]","description":"these are the column indexes of *ctrlContent* which should be sortable. An empty array means all columns are sortable.","type_expr":"Array<Number>","text":"columnIndexes: Array of Numbers - (Optional, default: []) these are the column indexes of *ctrlContent* which should be sortable. An empty array means all columns are sortable."},{"name":"idc","type":"Number","optional":true,"default":"200","description":"used to assign IDCs to the buttons created by this function. The first button has **idc**, the second button has **idc** + 1 and so on.","type_expr":"Number","text":"idc: Number - (Optional, default: 200) used to assign IDCs to the buttons created by this function. The first button has **idc**, the second button has **idc** + 1 and so on."}],"returns":{"type":"Boolean","type_expr":"Boolean","description":"true on success, otherwise false"}}],"examples":[{"code":["[_lnbFilter, _lnbContent, [0,1,2,3]] call BIS_fnc_initListNBoxSorting;"]}],"see_also":["BIS_fnc_initSliderValue"]}