Multi Column Listbox

Multi column listbox, including filtering & colouring of columns & extraction of individual values
915 Downloads
Updated 18 Jul 2013

View License

UIMULTICOLLISTBOX contains the following methods:

case 'addCol' % ( h, 'addCol', colItems , ColIndex )
case 'addRow' % ( h, 'addRow', rowItems , rowIndex )
case 'addFilter' % ( h, 'addFilter', colIndex, filterValue )
case 'applyUIFilter' % ( h, 'applyUIFilter', useRow1AsLabels )
case 'changeItem' % ( h, 'changeItem, 'NewValue', rowIndex, colIndex )
case 'changeRow' % ( h, 'changeRow', 'NewItems', rowIndex )
case 'columnColour' % ( h, 'columnColor', colIndex, 'Colour' )
case 'delCol' % ( h, 'delCol', colIndex )
case 'delRow' % ( h, 'delRow', rowIndex )
case 'filtersApplied' % ( h, 'filtersApplied )
case 'nCols' % ( h, 'nCols' )
case 'nRows' % ( h, 'nRows' )
case 'removeUIFilter' % ( h, 'removeUIFilter' )
case 'resetFilter' % ( h, 'resetFilter' )
case 'selectionInNumbers' % ( h, 'seletionInNumbers', colIndex )
case 'selectedStrCol' % ( h, 'selectedStrCol', colIndex )
case 'selectedString' % ( h, 'selectedString' )
case 'separator' % ( h, 'separator', 'newColSeparator' )
case 'setRow1Header' % ( h, 'setRow1Header', OnOffFlag )
case 'string' % ( h, 'string', cellArrayStrings )
case 'value' % ( h, 'value', selectionValue )

Is built on the standard MATLAB UICONTROL LISTBOX - all normal SET and GET are available on the handle.

Example:
d = dir;
for i=1:length(d)
str{i,1} = d(i).name;
str{i,2} = d(i).date;
str{i,3} = d(i).bytes;
str{i,4} = d(i).isdir;
[dummy,dummy,ext] = fileparts ( d(i).name );
str{i,5} = strcmp ( ext, '.m' );
end
% create the uimulticollist
h=uimulticollist ( 'units', 'normalized', 'position', [0 0 1 1], 'string', str, 'columnColour', { 'RED' 'RED' 'BLUE' 'BLACK' 'GREEN' } );
%
% now add a header
header = { 'FileName' 'Date' 'Bytes' 'isDir' 'isMFile' };
uimulticollist ( h, 'addRow', header, 1 )
% add an extra column
nItems = uimulticollist ( h, 'nRows' );
uimulticollist ( h, 'addCol', [0:nItems-1], 1, 'GREEN' )
% change a unique item
uimulticollist ( h, 'changeItem', 'ORDER', 1, 1 )
% apply a filter to the 6th col (where items = 1 )
uimulticollist ( h, 'addFilter', 6, 1 )

Cite As

Robert Cumming (2024). Multi Column Listbox (https://www.mathworks.com/matlabcentral/fileexchange/42670-multi-column-listbox), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2012b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Categories
Find more on Migrate GUIDE Apps in Help Center and MATLAB Answers
Acknowledgements

Inspired: Beam Project GUI

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0