GuiGridListGetItemText: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(11 intermediate revisions by 8 users not shown)
Line 5: Line 5:
==Syntax==  
==Syntax==  
<syntaxhighlight lang="lua">
<syntaxhighlight lang="lua">
string guiGridListGetItemText ( element theElement, int rowIndex, int columnIndex )
string guiGridListGetItemText ( element gridList, int rowIndex, int columnIndex )
</syntaxhighlight>  
</syntaxhighlight>
{{OOP||[[Element/GUI/Gridlist|GuiGridList]]:getItemText}}


===Required Arguments===  
===Required Arguments===  
*'''theElement:''' the gridlist containing the item you're interested in
*'''gridList:''' the gridlist containing the item you're interested in
*'''rowIndex:''' row id of the item
*'''rowIndex:''' row id of the item (first is 0)
*'''columnIndex:''' column id of the item
*'''columnIndex:''' column id of the item (first is 0)


===Returns===
===Returns===
Line 17: Line 18:


==Example==  
==Example==  
This example creates a player list on resource start, clicking on it will output the selected player name to the chatbox.
'''Example 1''': This example creates a gridlist with entries "Hello" and "World!" and chooses randomly which of these two grid list items it will retrieve.
<syntaxhighlight lang="lua">function clientsideResourceStart ()
<syntaxhighlight lang="lua">function clientsideResourceStart ()
    local numberList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true ) --Create a gridlist
        --Create a gridlist
    local columnA = guiGridListAddColumn ( numberList, "columnA Title", 0.85 ) --Create a columnA on the gridlist
    local myGridList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true )  
    rowA = guiGridListAddRow ( numberList )
    --Create columnA on the gridlist
    rowB = guiGridListAddRow ( numberList ) --Add 2 rows to the grid list
local columnA = guiGridListAddColumn ( myGridList, "columnA Title", 0.85 )  
    guiGridListSetItemText ( numberList, rowA, columnA, "Hello", false, false )  
    --Add 2 rows to the grid list
    --Create the text "Hello" for rowA, columnA
rowA = guiGridListAddRow ( myGridList )
    guiGridListSetItemText ( numberList, rowB, columnA, "World!", false, false )  
    rowB = guiGridListAddRow ( myGridList )
    --Create the text "World!" for rowB, columnA
        --Create the text "Hello" for rowA, columnA
getRandomItem = math.random ( 1, 2 )
guiGridListSetItemText ( myGridList, rowA, columnA, "Hello", false, false )  
if getRandomItem == 1 then --Choose randomly which grid list item text to retrieve
    --Create the text "World!" for rowB, columnA
            randomItemData = guiGridListGetItemText ( numberList, rowA, columnA )
guiGridListSetItemText ( myGridList, rowB, columnA, "World!", false, false )
elseif getRandomItem == 2 then
    --Choose randomly which grid list item text to retrieve
randomItemData = guiGridListGetItemText ( numberList, rowB, columnA )
        getRandomItem = math.random ( 1, 2 )      
end
if getRandomItem == 1 then  
outputChatBox ( "My gridlist item text: "..randomItemData ) --Output the randomly retrieved item text
                randomItemData = guiGridListGetItemText ( myGridList, rowA, columnA )
        elseif getRandomItem == 2 then
                randomItemData = guiGridListGetItemText ( myGridList, rowB, columnA )
        end
        --Output the randomly retrieved item text
        outputChatBox ( "My gridlist item text: "..randomItemData )  
end
end
addEventHandler ( "onClientResourceStart", getRootElement(), clientsideResourceStart )</syntaxhighlight>
addEventHandler ( "onClientResourceStart", resourceRoot, clientsideResourceStart )</syntaxhighlight>
 
'''Example 2''': This example creates a player list on resource start, clicking on it will output the selected player name to the chatbox.
<syntaxhighlight lang="lua">
function createPlayerList ()
        -- Create the grid list
        playerList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true )
        -- Create a players column in the list
        local column = guiGridListAddColumn( playerList, "Player", 0.85 )
        if ( column ) then        -- If the column has been created, fill it with players
                for id, playeritem in ipairs(getElementsByType("player")) do
                        local row = guiGridListAddRow ( playerList )
                        guiGridListSetItemText ( playerList, row, column, getPlayerName ( playeritem ), false, false )
                end
                addEventHandler ( "onClientGUIClick", playerList, click )
        end
end
addEventHandler ( "onClientResourceStart", getRootElement(), createPlayerList )
 
function click ()
      local playerName = guiGridListGetItemText ( playerList, guiGridListGetSelectedItem ( playerList ), 1 )
      outputChatBox(playerName)
end
</syntaxhighlight>


==See Also==
==See Also==
{{GUI functions}}
{{GUI functions}}
{{GUI_events}}

Latest revision as of 18:47, 28 October 2021

This function retrieves the text from a specific grid list item.

Syntax

string guiGridListGetItemText ( element gridList, int rowIndex, int columnIndex )

OOP Syntax Help! I don't understand this!

Method: GuiGridList:getItemText(...)


Required Arguments

  • gridList: the gridlist containing the item you're interested in
  • rowIndex: row id of the item (first is 0)
  • columnIndex: column id of the item (first is 0)

Returns

Returns the text of the item if the arguments are right, false otherwise.

Example

Example 1: This example creates a gridlist with entries "Hello" and "World!" and chooses randomly which of these two grid list items it will retrieve.

function clientsideResourceStart ()
        --Create a gridlist
    	local myGridList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true ) 
    	--Create columnA on the gridlist
		local columnA = guiGridListAddColumn ( myGridList, "columnA Title", 0.85 ) 
    	--Add 2 rows to the grid list
		rowA = guiGridListAddRow ( myGridList )
    	rowB = guiGridListAddRow ( myGridList )
        --Create the text "Hello" for rowA, columnA
		guiGridListSetItemText ( myGridList, rowA, columnA, "Hello", false, false )   	
    	--Create the text "World!" for rowB, columnA
		guiGridListSetItemText ( myGridList, rowB, columnA, "World!", false, false )
    	--Choose randomly which grid list item text to retrieve
        getRandomItem = math.random ( 1, 2 )       
		if getRandomItem == 1 then 
                randomItemData = guiGridListGetItemText ( myGridList, rowA, columnA )
        elseif getRandomItem == 2 then
                randomItemData = guiGridListGetItemText ( myGridList, rowB, columnA )
        end
        --Output the randomly retrieved item text
        outputChatBox ( "My gridlist item text: "..randomItemData ) 
end
addEventHandler ( "onClientResourceStart", resourceRoot, clientsideResourceStart )

Example 2: This example creates a player list on resource start, clicking on it will output the selected player name to the chatbox.

function createPlayerList ()
        -- Create the grid list
        playerList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true )
        -- Create a players column in the list
        local column = guiGridListAddColumn( playerList, "Player", 0.85 )
        if ( column ) then         -- If the column has been created, fill it with players
                for id, playeritem in ipairs(getElementsByType("player")) do
                        local row = guiGridListAddRow ( playerList )
                        guiGridListSetItemText ( playerList, row, column, getPlayerName ( playeritem ), false, false )
                end
                addEventHandler ( "onClientGUIClick", playerList, click )
        end
end
addEventHandler ( "onClientResourceStart", getRootElement(), createPlayerList )

function click () 
       local playerName = guiGridListGetItemText ( playerList, guiGridListGetSelectedItem ( playerList ), 1 )
       outputChatBox(playerName)
end

See Also

General functions

Browsers

Buttons

Checkboxes

Comboboxes

Edit Boxes

Gridlists

Memos

Progressbars

Radio Buttons

Scrollbars

Scrollpanes

Static Images

Tab Panels

Tabs

Text Labels

Windows

Input

GUI