declaring item on itemdatabound event for datalist

Got ther idea from gridview and trying to apply in my datalist.  
 drv is not declared properly.  could you please look at my code and help me declare it?

 Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
        If e.Item.ItemType = DataControlRowType.DataRow Then
            Dim drv As System.Data.DataView = ((e.Item.DataItem,) Data.DataView)
            Dim apply As Image = DirectCast(e.Item.FindControl("image7"), Image)
            If drv("GROUPING") = "LT10" Then
                apply.ImageUrl = "~/lt/lt10.jpg"
            ElseIf drv("GROUPING") = "LT15" Then
                apply.ImageUrl = "~/lt/lt15.jpg"
            ElseIf drv("GROUPING") = "LT28" Then
                apply.ImageUrl = "~/lt/lt28.jpg"
            ElseIf drv("GROUPING") = "LT40" Then
                apply.ImageUrl = "~/lt/lt40.jpg"
            ElseIf drv("GROUPING") = "LT50" Then
                apply.ImageUrl = "~/lt/lt50.jpg"
            ElseIf drv("GROUPING") = "LT70" Then
                apply.ImageUrl = "~/lt/lt70.jpg"
            End If
        End If
    End Sub
LVL 1
gianitooAsked:
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:
Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
        If e.Item.ItemType = ListItemType.Item Then
            Dim apply As Image = CType(e.Item.FindControl("image7"), Image)
            If drv("GROUPING") = "LT10" Then
                apply.ImageUrl = "~/lt/lt10.jpg"
            ElseIf drv("GROUPING") = "LT15" Then
                apply.ImageUrl = "~/lt/lt15.jpg"
            ElseIf drv("GROUPING") = "LT28" Then
                apply.ImageUrl = "~/lt/lt28.jpg"
            ElseIf drv("GROUPING") = "LT40" Then
                apply.ImageUrl = "~/lt/lt40.jpg"
            ElseIf drv("GROUPING") = "LT50" Then
                apply.ImageUrl = "~/lt/lt50.jpg"
            ElseIf drv("GROUPING") = "LT70" Then
                apply.ImageUrl = "~/lt/lt70.jpg"
            End If
        End If
    End Sub
0
gianitooAuthor Commented:
so i dont have to declare   "dvr"  ???  
grouping is the name of my column in my database?
0
gianitooAuthor Commented:
im getting an error that drv is not declared
0
Cloud Class® Course: CompTIA Cloud+

The CompTIA Cloud+ Basic training course will teach you about cloud concepts and models, data storage, networking, and network infrastructure.

prairiedogCommented:
Sorry.
Is "GROUPING" a label in DataList?
0
gianitooAuthor Commented:
no...grouping  is a column in my database

so if grouping = ""  then  i want an image to show
etc

my db  querry looks like this
select grouping, picture  from table
0
gianitooAuthor Commented:
I used the same concept in view grid and this how i declared it
 Dim drv As System.Data.DataRowView = DirectCast(e.Row.DataItem, Data.DataRowView)

how do you declare in datalist?
0
prairiedogCommented:
In another word, do you display Grouping in DataList?
0
gianitooAuthor Commented:
Grouping has 8 options in my database

that is why i  do this

       If drv("GROUPING") = "LT10" Then
               apply.ImageUrl = "~/lt/lt10.jpg"
           ElseIf drv("GROUPING") = "LT15" Then
               apply.ImageUrl = "~/lt/lt15.jpg"
           ElseIf drv("GROUPING") = "LT28" Then
               apply.ImageUrl = "~/lt/lt28.jpg"
           ElseIf drv("GROUPING") = "LT40" Then
               apply.ImageUrl = "~/lt/lt40.jpg"
           ElseIf drv("GROUPING") = "LT50" Then
               apply.ImageUrl = "~/lt/lt50.jpg"
           ElseIf drv("GROUPING") = "LT70" Then
               apply.ImageUrl = "~/lt/lt70.jpg"
           End If
0
prairiedogCommented:
>>>Grouping has 8 options in my database

I understand. My question is do you display this Grouping in your DataList, such as using Label?
0
gianitooAuthor Commented:
Yes  in my label8
0
prairiedogCommented:
Try this. (You may also want to change If..ElseIf...ElseIf...Endif to Select Case statement, it is more readable)
Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
       If e.Item.ItemType = ListItemType.Item Then
           Dim apply As Image = CType(e.Item.FindControl("image7"), Image)
           Dim lbl As Label = CType(e.Item.FindControl("label8"), Label)
           If lbl.Text.Trim() = "LT10" Then
               apply.ImageUrl = "~/lt/lt10.jpg"
           ElseIf lbl.Text.Trim() = "LT15" Then
               apply.ImageUrl = "~/lt/lt15.jpg"
           ElseIf lbl.Text.Trim() = "LT28" Then
               apply.ImageUrl = "~/lt/lt28.jpg"
           ElseIf lbl.Text.Trim() = "LT40" Then
               apply.ImageUrl = "~/lt/lt40.jpg"
           ElseIf lbl.Text.Trim() = "LT50" Then
               apply.ImageUrl = "~/lt/lt50.jpg"
           ElseIf lbl.Text.Trim() = "LT70" Then
               apply.ImageUrl = "~/lt/lt70.jpg"
           End If
       End If
   End Sub

Open in new window

0
gianitooAuthor Commented:
I did this.  I fopund an issue.  everyother item is not showing the image.  i know there is an image for each group and misteriusly it does not show every other one. .  
can you review code ?

  Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
        If e.Item.ItemType = ListItemType.Item Then
            Dim apply As Image = CType(e.Item.FindControl("image7"), Image)
            Dim lbl As Label = CType(e.Item.FindControl("label1"), Label)
            Select lbl.Text
                Case "LT10"
                    apply.ImageUrl = "~/lt/lt10.jpg"

                Case "LT15"
                    apply.ImageUrl = "~/lt/lt15.jpg"
                   
                Case "LT28"
                    apply.ImageUrl = "~/lt/lt28.jpg"
                   
                Case "LT40"
                    apply.ImageUrl = "~/lt/lt40.jpg"
                   
                Case "LT50"
                    apply.ImageUrl = "~/lt/lt50.jpg"
                   
                Case "LT70"
                    apply.ImageUrl = "~/lt/lt70.jpg"
           
            End Select
                       
        End If
    End Sub
0
prairiedogCommented:
This should do:
 

Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs)
        If (e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem) Then
            Dim apply As Image = CType(e.Item.FindControl("image7"), Image)
            Dim lbl As Label = CType(e.Item.FindControl("label1"), Label)
            Select lbl.Text
                Case "LT10"
                    apply.ImageUrl = "~/lt/lt10.jpg"
 
                Case "LT15"
                    apply.ImageUrl = "~/lt/lt15.jpg"
                    
                Case "LT28"
                    apply.ImageUrl = "~/lt/lt28.jpg"
                    
                Case "LT40"
                    apply.ImageUrl = "~/lt/lt40.jpg"
                    
                Case "LT50"
                    apply.ImageUrl = "~/lt/lt50.jpg"
                    
                Case "LT70"
                    apply.ImageUrl = "~/lt/lt70.jpg"
            
            End Select
                        
        End If
    End Sub

Open in new window

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
gianitooAuthor Commented:
Ur the dog!!!
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
ASP.NET

From novice to tech pro — start learning today.

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.