Hey guys,
I got a headache today because of this (little?) problem. I hope you can help me find the solution.

I have a repeater which contains a button and an image in each row/item.
I already set the button's commandargument with the ID (key) of the data.
What I want is, when the button is clicked (fire the Repeater.ItemCommand event), I want to mark the ItemIndex being fired using the conditions:

My problem is, even after I click other datarow's button, the mark of the previous datarow doesn't change. The button is still invisible and the image is still there.
Here's my code inside the ItemCommand event. What exactly did I miss here?

Protected Sub RepDocument_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.RepeaterCommandEventArgs) Handles RepDocument.ItemCommand
    If e.CommandArgument <> "" And e.CommandName = "edit" Then
        For Each RI As RepeaterItem In RepDocument.Items
            Dim b As Button = TryCast(e.Item.FindControl("B_edit"), Button) 'the button that fired this event
            Dim img As Image = TryCast(e.Item.FindControl("Image1"), Image) 'the image to be the mark
            If b.CommandArgument = e.CommandArgument Then
                b.Visible = False
                img.Visible = True
                b.Visible = True
                img.Visible = False
            End If

    'bla bla bla
    End If
End Sub