undefined Posted September 6, 2014 Share Posted September 6, 2014 How to find gridlist count with gridlist data? Link to comment
Castillo Posted September 6, 2014 Share Posted September 6, 2014 What do you mean? Do you mean how many rows the gridlist has? if so, then use this function: guiGridListGetRowCount Link to comment
undefined Posted September 6, 2014 Author Share Posted September 6, 2014 It's my code: ------------------------------------------------------------ -- Upgrade Vehicle Window/Function ------------------------------------------------------------ addEventHandler("onClientResourceStart", resRoot, function() vehUpgradeWindow = guiCreateWindow(sx/2-303/2, sy/2-380/2, 303, 380, "Araç Yükseltmesi", false) guiSetAlpha(vehUpgradeWindow, 0) guiWindowSetSizable(vehUpgradeWindow, false) guiSetVisible(vehUpgradeWindow, false) vehUpgradeGrid = guiCreateGridList(10, 26, 283, 317, false, vehUpgradeWindow) guiGridListAddColumn(vehUpgradeGrid, "Name", 0.90) vehUpgradeRemove = guiCreateButton(10, 353, 67, 19, "Kaldır", false, vehUpgradeWindow) vehUpgradeClose = guiCreateButton(226, 353, 67, 19, "Kapat", false, vehUpgradeWindow) guiGridListSetSortingEnabled ( vehUpgradeGrid, false ) guiGridListSetSelectionMode ( vehUpgradeGrid, 0 ) local vehicle = getPedOccupiedVehicle(gMe) if vehicle then createUpgradeList(vehicle) end end) addEventHandler("onClientVehicleEnter", gRoot, function(thePlayer, seat) if thePlayer == gMe then createUpgradeList(source) end end) function createUpgradeList(vehicle) local setSelItem local row, col = guiGridListGetSelectedItem(vehUpgradeGrid) local scrollVerPos = guiGridListGetVerticalScrollPosition(vehUpgradeGrid) if row and col and row ~= -1 and col ~= -1 then setSelItem = true else setSelItem = false end guiGridListClear(vehUpgradeGrid) gTable = {} for i,upgrade in ipairs(getVehicleCompatibleUpgrades(vehicle)) do if not gTable[getVehicleUpgradeSlotName(upgrade)] then gTable[getVehicleUpgradeSlotName(upgrade)] = {} end table.insert(gTable[getVehicleUpgradeSlotName(upgrade)], upgrade) end for name, upgrade in pairs(gTable) do if n ~= name and #upgrade > 0 then n = name local row = guiGridListAddRow(vehUpgradeGrid) guiGridListSetItemText(vehUpgradeGrid, row, 1, tostring(name), true, false) end for i, upgrade in ipairs(upgrade) do local row = guiGridListAddRow(vehUpgradeGrid) guiGridListSetItemText(vehUpgradeGrid, row, 1, tostring(upgradeTable[upgrade]), false, false) guiGridListSetItemData(vehUpgradeGrid, row, 1, tostring(upgrade)) end end if setSelItem then guiGridListSetSelectedItem(vehUpgradeGrid, row, col) end for k, test1 in pairs(gTable) do for s, test2 in ipairs(test1) do local test3 = getVehicleUpgrades(vehicle) for upgradeKey, upgradeValue in ipairs(test3) do outputChatBox(tostring(upgradeValue).." - "..tostring(test2)) local test = tostring(s) if tostring(upgradeValue) == tostring(test2) then if guiGridListGetItemData(vehUpgradeGrid, test, 1) == test2 then guiGridListSetItemColor(vehUpgradeGrid, test, 1, 255, 255, 255) outputChatBox(test..": 255,255,255") else guiGridListSetItemColor(vehUpgradeGrid, test, 1, 0, 255, 0) outputChatBox(test..": 0,255,0") end end end end end guiGridListSetVerticalScrollPosition(vehUpgradeGrid, scrollVerPos) end addEventHandler("onClientVehicleStartExit", gRoot, function( player, seat, door ) if player == gMe then guiGridListClear(vehUpgradeGrid) end end) addEventHandler("onClientGUIClick", guiRoot, function() if source == upgradeVehicleButton then local vehicle = getPedOccupiedVehicle(gMe) if guiGetVisible(vehUpgradeWindow) == false then if vehicle then setAlphaGradually(vehUpgradeWindow, 50, number, true, alpha, true) end elseif guiGetVisible(vehUpgradeWindow) == true then setAlphaGradually(vehUpgradeWindow, 50, number, false, alpha, true) triggerServerEvent("vehUpgradeWindowAyar", localPlayer) end elseif source == vehUpgradeClose then setAlphaGradually(vehUpgradeWindow, 50, number, false, alpha, true) triggerServerEvent("vehUpgradeWindowAyar", localPlayer) elseif source == vehUpgradeRemove then local vehicle = getPedOccupiedVehicle(gMe) if not vehicle then return end local row, col = guiGridListGetSelectedItem(vehUpgradeGrid) if row and col and row ~= -1 and col ~= -1 then local vehUpgrade = guiGridListGetItemData(vehUpgradeGrid, row, 1) removeVehicleUpgrade(vehicle, vehUpgrade) end end end) addEventHandler( "onClientGUIDoubleClick", gRoot, function(selUpgrade) if source == vehUpgradeGrid then local vehicle = getPedOccupiedVehicle(gMe) if not vehicle then return end local row, col = guiGridListGetSelectedItem ( vehUpgradeGrid ) if ( row and col and row ~= -1 and col ~= -1 ) then local vehUpgrade = guiGridListGetItemData ( vehUpgradeGrid, row, 1 ) addVehicleUpgrade(vehicle, vehUpgrade) createUpgradeList(vehicle) end end end) When the double clicked on gridlist, createUpgradeList() was active. It's work perfectly first group (for example: Whells). But when the clicked second group, guiGridListSetItemColor function is set Whells group child. Where is the problem? Srry for my bad English! Link to comment
Et-win Posted September 7, 2014 Share Posted September 7, 2014 I think we don't understand what you mean. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now