ID:158560
 
SPELL DELETE YOU!
anywho

I currently use a grid for my inventory, and it works nicely, untill it comes to droping the item.
for(var/i=1,i<=M.contents.len,i++)
if(M.contents[i]==src)
M<<output(null,"grid2:1,[i]")
break

Works fine, but it leaves me with an ugly empty box, how can I delete this one row so everything below it shuffles up one.
What you should be doing is updating the grid by redrawing it completely after every update (or bunch of consecutive updates) to whatever it's supposed to be displaying (the inventory, in this case). While doing this, you'd of course set the number of rows and columns to the exact number of required ones, so there will be no extra ones lingering around. For more info, look into Lummox JR's skin tutorial where he explains and demonstrates how to update grids.
I don't think there's any way to just cleanly remove a row or column <small>(unless it's the last one, in which case you could just resize the grid)</small>.