Please do the Quick watch at index vairable.
If you have stored e.CommandArgument value in int32 then value will be converted to integer. But it does means e.CommandArgument will be converted to Int data type.
E.CommandArgument will always be string type. You can store its value to Integer type but it should have integer value.