• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 657
  • Last Modified:

Find value in Datatable loop

Im trying to find certain text within column 2 of my datatable. Below is what I have so far but its not finding the values even though they exist. Can anyone help me?
For Each DataRow In AS400DS.Rows
            If AS400DS.Columns(2).ToString = "AB" Then
                Absentee.DataField = "Hours"
            ElseIf AS400DS.Columns(2).ToString = "VA" Then
                Vacation.DataField = "Hours"
            ElseIf AS400DS.Columns(2).ToString = "OT" Then
                OT.DataField = "Hours"
            ElseIf AS400DS.Columns(2).ToString = "WH" Then
                OTx2.DataField = "Hours"
            End If
            Response.Write(AS400DS.Columns(2))
        Next

Open in new window

0
ITHelper80
Asked:
ITHelper80
  • 2
1 Solution
 
srikanthreddyn143Commented:

For Each oRow As DataRow In AS400DS.Rows
            If oRow (2).ToString = "AB" Then
                Absentee.DataField = "Hours"
            ElseIf oRow (2).ToString = "VA" Then
                Vacation.DataField = "Hours"
            ElseIf oRow (2).ToString = "OT" Then
                OT.DataField = "Hours"
            ElseIf oRow (2).ToString = "WH" Then
                OTx2.DataField = "Hours"
            End If
            Response.Write(oRow(2).ToString)
        Next
0
 
MaxOvrdrv2Commented:
hi,

try this:
For Each DataRow In AS400DS.Rows
            If LCase(AS400DS.Columns(2).ToString) = LCase("AB") Then
                Absentee.DataField = "Hours"
            ElseIf LCase(AS400DS.Columns(2).ToString) = LCase("VA") Then
                Vacation.DataField = "Hours"
            ElseIf LCase(AS400DS.Columns(2).ToString) = LCase("OT") Then
                OT.DataField = "Hours"
            ElseIf LCase(AS400DS.Columns(2).ToString) = LCase("WH") Then
                OTx2.DataField = "Hours"
            End If
            Response.Write(AS400DS.Columns(2))
        Next

Open in new window

0
 
mohan_sekarCommented:
For Each myRow As DataRow In AS400DS.Rows
                    If myRow .Item(2).ToString = "AB" Then
                Absentee.DataField = "Hours"
Next
0
 
MaxOvrdrv2Commented:
crud, sorry, my bad, try this instead:
dim dr as DataRow
 
For Each dr In AS400DS.Rows
            If LCase(dr.Columns(2).ToString) = LCase("AB") Then
                Absentee.DataField = "Hours"
            ElseIf LCase(dr.Columns(2).ToString) = LCase("VA") Then
                Vacation.DataField = "Hours"
            ElseIf LCase(dr.Columns(2).ToString) = LCase("OT") Then
                OT.DataField = "Hours"
            ElseIf LCase(dr.Columns(2).ToString) = LCase("WH") Then
                OTx2.DataField = "Hours"
            End If
            Response.Write(dr.Columns(2))
        Next

Open in new window

0

Featured Post

[Webinar] Improve your customer journey

A positive customer journey is important in attracting and retaining business. To improve this experience, you can use Google Maps APIs to increase checkout conversions, boost user engagement, and optimize order fulfillment. Learn how in this webinar presented by Dito.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now