Finding datatable row index and deleting/removing

Hello - thank you for taking a moment to look at the ASP.NET issue I am having.

I have created a Datatable that has three columns: ID, firstName, lastName. The ID column is the primary key. Not to get too mired in the details, but this datatable acts like a shopping cart (but isn't) where users can select people from a list (provided by a DataList) and those selections are stored in the datatable and displayed in a different area on the same page by a Repeater control. This part seems to be working fine.

A requirement of this project is to be able to REMOVE those people from the datatable. I am doing this by placing an LinkButton within the Repeater that displays the text "REMOVE" - and this is where I am having problems. I have included the code I am trying to use to find the ID of the particular person (row), and then remove/delete it.

When I click the LinkButton in the Repeater control, I am receiving the following ASP.NET error:
System.FormatException: Input string was not in a correct format.

A side-note: I am not an expert programmer by any means, so I appreciate any and all suggestions.
Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)
 
Dim dt As New DataTable
dt = CType(Session("JohnTable"), DataTable)
 
' Find the ID of the person (row)
Dim rowIndex As Integer
rowIndex = ViewState(CType(Session("JohnTable"), DataTable).Rows.IndexOf(CType(Session("JohnTable"), DataTable).Rows.Find(ID)))
 
'Delete the row
Dim ival As Integer
For ival = 0 To dt.Rows.Count - 1
If dt.Rows(ival).Item("ID") = rowIndex Then
dt.Rows(ival).Delete()
Exit For
End If
Next
 
dt.AcceptChanges()
Me.Repeater1.DataSource = dt
Me.Repeater1.DataBind()
End Sub

Open in new window

John0214Asked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

prairiedogCommented:
This is how to get the row index  in your Button click event handler:

Dim lbtn As LinkButton = CType(sender, LinkButton)
Dim item As RepeaterItem = CType(lbtn.NamingContainer, RepeaterItem)
Dim rowIndex As Integer = item.ItemIndex
'Continue your code
 
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
John0214Author Commented:
Prairiedog, you have saved my life!!  You have no idea how stuck I was.

THANK YOU!!

John
0
John0214Author Commented:
Thank you, prairiedog - as I said before, you saved my life on this. "Thanks" is not enough.
0
prairiedogCommented:
Glad I could help.
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Visual Basic Classic

From novice to tech pro — start learning today.