Finding which Row holds a certain string in one of it's cell in a datatable. VB.NET

I need to determine which row has a value in one of its cells in a specific column with a datatable. The value is known before hand as also is the column. The reason is I need to alter a value within the same row only two columns over. I'd like this in vb.net thanks.
LVL 1
JPERKS1985Asked:
Who is Participating?
 
alainbrydenCommented:
Ahh I see, Well then I have no personal experience, but looking through this tutorial, it seems to give a pretty good outline of using the system data table.

http://smrtx.com/RS/asp_datagrid.htm
0
 
alainbrydenCommented:
Unless it's a DOA, where you can do a query, just do the plain old loop

For I as Integer = 0 to myarray.rows
      if myarray.cells(I, KnownColumn) = KnownValue then Exit For
Next I

myarray.cells(I, KnownColumn + 2) = AlteredValue

Not too tough at all see :)
0
 
alainbrydenCommented:
I appologize, I forgot one crucial dimension:

For I as Integer = 0 to myarray.rows
      if myarray.cells(I, KnownColumn).value = KnownValue then Exit For
Next I

myarray.cells(I, KnownColumn + 2).value = AlteredValue



(forgot the .value)

Cheers JPerks
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
JPERKS1985Author Commented:
hmm says 'cells' is not a member of 'System.Data.DataTable'. I'm very new to this do you know whats wrong?
 This is how dtform is declared     Public dtForm As DataTable
0
 
alainbrydenCommented:
I'm sorry I thought you were using an msflexigrid. As long as you aren't doing any threading, which you shouldn't be as a new program, you should change it so that you are using a grid instead of a System.Data.DataTbale. These deal with the raw memory stored in ram, and get pretty complicated. They are the foundation but you don't need to deal directly with them. It would be like trying to make a bitmap picture in notepad by setting all the individual pixels when you could draw it using paint. I would look at other dataTable types, like an MSFlexiGrid or a simple 2 dimentional array to store your data. Most things you would normally export to recognise both these formats, such as Excel and DAO recordsets.
0
 
JPERKS1985Author Commented:
haah it is threaded.
0
 
JPERKS1985Author Commented:
Created a solution


        Dim cName As TextBox = CType(sender, System.Windows.Forms.TextBox)
        cName.Name = CType(sender, System.Windows.Forms.TextBox).Name


        Dim DRow As DataRow
     
        For Each DRow In dtForm.Rows
            If DRow(2).Item = cName.Name Then
                DRow(8).Item = cName.Text
                TMEventInfoParseGrid.DataSource = dtForm
            End If
        Next

Found the solution with the help of a book.

0
 
JPERKS1985Author Commented:
Sorry this one is correct



     
        Dim cName As TextBox = CType(sender, System.Windows.Forms.TextBox)
        cName.Name = CType(sender, System.Windows.Forms.TextBox).Name


        Dim DRow As DataRow
     
        For Each DRow In dtForm.Rows

            If DRow.Item(2) = cName.Name.ToString Then
                DRow.Item(8) = cName.Text
                TMEventInfoParseGrid.DataSource = dtForm
            End If
        Next
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.