GuiGridListGetItemText: Difference between revisions

From Multi Theft Auto: Wiki
Jump to navigation Jump to search
No edit summary
 
(15 intermediate revisions by 9 users not shown)
Line 1: Line 1:
__NOTOC__  
{{Client function}}
This function gets the text from a given grid list item row+column
__NOTOC__
This function retrieves the text from a specific grid list item.


==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 you want to get item text of
*'''gridList:''' the gridlist containing the item you're interested in
*'''rowIndex:''' row id
*'''rowIndex:''' row id of the item (first is 0)
*'''columnIndex:''' column id
*'''columnIndex:''' column id of the item (first is 0)


===Returns===
===Returns===
Returns ''string'' - the text in the item if the arguments are right, ''false'' if not.
Returns the text of the item if the arguments are right, ''false'' otherwise.


==Example==  
==Example==  
This example creates a player list on resource start, clicking on it will output the selected player name to 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 ()
        --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 )</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">
<syntaxhighlight lang="lua">
function createPlayerList ()
function createPlayerList ()
         --Create the grid list element
         -- Create the grid list
         playerList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true )
         playerList = guiCreateGridList ( 0.80, 0.10, 0.15, 0.60, true )
         --Create a players column in the list
         -- Create a players column in the list
         local column = guiGridListAddColumn( playerList, "Player", 0.85 )
         local column = guiGridListAddColumn( playerList, "Player", 0.85 )
         if ( column ) then --If the column has been created, fill it with players
         if ( column ) then         -- If the column has been created, fill it with players
                 for id, player in ipairs(getElementsByType("player")) do
                 for id, playeritem in ipairs(getElementsByType("player")) do
                         local row = guiGridListAddRow ( playerList )
                         local row = guiGridListAddRow ( playerList )
                         guiGridListSetItemText ( playerList, row, column, getPlayerName ( player ), false, false )
                         guiGridListSetItemText ( playerList, row, column, getPlayerName ( playeritem ), false, false )
                 end
                 end
                 addEventHandler ( "onClientClick", getRootElement(), click )
                 addEventHandler ( "onClientGUIClick", playerList, click )
         end
         end
end
end
addEventHandler ( "onClientResourceStart", getRootElement(), createPlayerList )
addEventHandler ( "onClientResourceStart", getRootElement(), createPlayerList )
function click ( button, state, sx, sy, x, y, z, element, gui )
 
        -- if state is down ( not to trigger the function twice on click up/down), clicked gui and the element is our player list
function click ()  
        if ( ( state == "down" ) and ( gui == true ) and ( source == playerList ) ) then
      local playerName = guiGridListGetItemText ( playerList, guiGridListGetSelectedItem ( playerList ), 1 )
                -- we get the player name from the selected row, first column
      outputChatBox(playerName)
                local playerName = guiGridListGetItemText ( playerList, guiGridListGetSelectedItem ( playerList ), 1 )
                outputChatBox ( playerName ) --output it to chat box
        end
end
end
</syntaxhighlight>
</syntaxhighlight>
Line 44: Line 68:
==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