DgsGridListSort: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
Line 20: Line 20:
local sortfnc = [[
local sortfnc = [[
local arg = {...}
local arg = {...}
local a = arg[1]
local b = arg[2]
local column = dgsElementData[self].sortColumn
local column = dgsElementData[self].sortColumn
return arg[1][column][1] < arg[2][column][1]
local texta,textb = a[column][1],b[column][1]
return texta < textb
]] -- Define our sorting function
]] -- Define our sorting function



Revision as of 13:28, 24 February 2018

This function forces the dgs gridlist to carry out sorting once ( Sorting function and sorted column must exist, or it will do nothing and return false ).

Syntax

bool dgsGridListSort( dgsElement gridlist )

Required Arguments

  • gridlist: The grid list in which you wish to sort.

Returns

Returns true if succeed in carrying out sorting, false otherwise.

Example

DGS = exports.dgs

local sortfnc = [[
	local arg = {...}
	local a = arg[1]
	local b = arg[2]
	local column = dgsElementData[self].sortColumn
	local texta,textb = a[column][1],b[column][1]
	return texta < textb
]] -- Define our sorting function

gridlist = DGS:dgsCreateGridList(300,50,600,600,false)
DGS:dgsGridListSetSortFunction(gridlist,sortfnc) -- set and load the sorting function
DGS:dgsGridListSetSortColumn(gridlist,2) -- choose which column to be sorted by.

DGS:dgsGridListAddColumn(gridlist,"test1",0.3)
DGS:dgsGridListAddColumn(gridlist,"test2",0.2)
for i=1,50 do
	local row = DGS:dgsGridListAddRow(gridlist)
	DGS:dgsGridListSetItemText(gridlist,row,1,tostring(i))
	DGS:dgsGridListSetItemText(gridlist,row,2,50-tostring(i))
end
DGS:dgsGridListSetAutoSortEnabled(gridlist,false) -- turn off auto sorting, so that it won't sort itself after row data changes.

setTimer(function()
	DGS:dgsGridListSort(gridlist) -- Sort the grid list after 1 sec
end,1000,1)
showCursor ( true )

See Also

Custom Cursor Functions

Multi Language Supports

Animation

3D Element

3D Interface

3D Line

3D Image

3D Text

Browser

Button

Check Box

Combo Box

Custom Renderer

Edit

Detect Area

Drag'N Drop

Grid List

Image

Memo

Menu

Label

Layout

Line

Progress Bar

Radio Button

Scale Pane

Scroll Bar

Scroll Pane

Selector

Style

Switch Button

Tab Panel

Window

Basic Shape Plugins

Circle

Quadrilateral

Rounded Rectangle

Other Plugins

Blur Box

Canvas

Chart

Color Picker

Effect 3D

Gradient

Mask

Media Browser

Nine Slice

Object Preview Supports

Paste Handler

QRCode

Remote Image

Screen Source

SVG

Tooltips