Jump to content

DX-gridlist


Recommended Posts

Nesse código eu passei um gridlist pra dx, e nesta gridlist minha ideia seria pegar skin, porém skins que está no ID "idskins" porém a gridlist está verificando skins de 1 em diante não os ids que eu adicionei HELP-ME (Não entendo nem um pouco de Grilist)

skins={
	"Skin J",
	"Skin JJ",
	"Skin JJJ"
}
idskins = {"30", "31", "32"}


local screen_size = { guiGetScreenSize( ) } 
  
local gridlist = dxGrid:Create ( 434, 304, 280, 370)
  
coluna = gridlist:AddColumn ( "Skin", 100 ) 
ids = gridlist:AddColumn ( "                                        ID", 160 ) 
  
for i=1, #idskins do end
 for i=1, #skins do
    TextSkin = gridlist:AddItem ( 1, ""..skins[i].."" ) 
    TextId = gridlist:AddItem ( 2, "                                        "..idskins[i].."" ) 
end


function SelecionarSkinF1 (button, press)
	if press and button == "mouse1" then
	    Selected = gridlist:GetSelectedItem (TextId)
		if Selected ~=-1 then 
		   local Selections = gridlist:GetSelectedItem (idskins)
			triggerServerEvent ("Skinf1", getLocalPlayer(), Selections)
		end
	end
end 
addEventHandler ( "onClientKey", root, SelecionarSkinF1)
	

 

Link to comment
  • Other Languages Moderators

Gridlists são elementos GUI e não DX.

E no seu código você está usando Programação Orientada a Objetos, você deve deixar OOP habilitado no meta.xml para que ela funcione.

<oop>true</oop>

 

Link to comment

O método GetSelectedItem retorna o índice selecionado:

eyXvMcr.png

 

Para obter o texto do índice selecionado você deve usar o metodo GetItemDetails:

string, mixed Gridlist:GetItemDetails ( int columnIndex, int itemIndex ) -- retornara o texto do indice itemIndex na coluna columnIndex

ou, como você sempre vai ter a tabela com os ids, simplesmente usar seguinte codigo:

skinID = tonumber(idskins[Selected])

Dessa forma o código final ficaria da seguinte maneira:

function SelecionarSkinF1 (button, press)
    if press and button == "mouse1" then
        local Selected = gridlist:GetSelectedItem (TextId)

        if Selected ~= -1 then 
            local skin = tonumber(idskins[Selected]);

            triggerServerEvent ("Skinf1", getLocalPlayer(), skin)
        end
    end
end 
addEventHandler ( "onClientKey", root, SelecionarSkinF1)

Comente caso tenha qualquer duvida.

Edited by crdn
  • Thanks 1
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...