Suerte Posted November 22, 2014 Share Posted November 22, 2014 (edited) I am trying to delete every row in a GridList (named cart): for i=0,rowCount-1,1 do if guiGridListRemoveRow(cart,i) then outputChatBox("row "..i.." removed") else outputChatBox("err") end end However, only indexes 0, 2, 4 .. etc. are deleted. Despite this, the debug information in the ChatBox shows there are no errors. i.e. with 4 rows, it will show: row 0 removed row 1 removed row 2 removed row 3 removed But it only works for the even indexes. So when I show the GUI again, index 1, 3, 5 etc.. are still there. It's probably a noob mistake but yano. Edited November 22, 2014 by Guest Link to comment
AJXB Posted November 22, 2014 Share Posted November 22, 2014 for i=0,rowCount do if guiGridListRemoveRow(cart,i) then outputChatBox("row "..i.." removed") else outputChatBox("err") end end the loop is the problem, this might be the solution. Link to comment
Suerte Posted November 22, 2014 Author Share Posted November 22, 2014 for i=0,rowCount do if guiGridListRemoveRow(cart,i) then outputChatBox("row "..i.." removed") else outputChatBox("err") endend the loop is the problem, this might be the solution. Same result, but thanks. Ah, I just realised the problem. When row index 0 is deleted, index 1, 2 .. etc. are shifted upwards to 0, 1.. so the next index 1 that is being deleted is actually the original index 2, but the original index 1 never gets touched. I guess it worked that way for all the odd numbers. Tests confirmed it. Solved code: for i=0,rowCount do guiGridListRemoveRow(cart,0) end 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