Solved

declaring item on itemdatabound event for datalist

Posted on 2008-10-31
14
304 Views
Last Modified: 2012-05-05
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
0
Comment
Question by:gianitoo
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 8
  • 6
14 Comments
 
LVL 22

Expert Comment

by:prairiedog
ID: 22850962
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
 
LVL 1

Author Comment

by:gianitoo
ID: 22851013
so i dont have to declare   "dvr"  ???  
grouping is the name of my column in my database?
0
 
LVL 1

Author Comment

by:gianitoo
ID: 22851030
im getting an error that drv is not declared
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 22

Expert Comment

by:prairiedog
ID: 22851078
Sorry.
Is "GROUPING" a label in DataList?
0
 
LVL 1

Author Comment

by:gianitoo
ID: 22851140
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
 
LVL 1

Author Comment

by:gianitoo
ID: 22851157
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
 
LVL 22

Expert Comment

by:prairiedog
ID: 22851173
In another word, do you display Grouping in DataList?
0
 
LVL 1

Author Comment

by:gianitoo
ID: 22851203
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
 
LVL 22

Expert Comment

by:prairiedog
ID: 22851248
>>>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
 
LVL 1

Author Comment

by:gianitoo
ID: 22851268
Yes  in my label8
0
 
LVL 22

Expert Comment

by:prairiedog
ID: 22851309
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
 
LVL 1

Author Comment

by:gianitoo
ID: 22851542
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
 
LVL 22

Accepted Solution

by:
prairiedog earned 500 total points
ID: 22851695
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
 
LVL 1

Author Closing Comment

by:gianitoo
ID: 31512069
Ur the dog!!!
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In .NET 2.0, Microsoft introduced the Web Site.  This was the default way to create a web Project in Visual Studio 2005.  In Visual Studio 2008, the Web Application has been restored as the default web Project in Visual Studio/.NET 3.x The Web Si…
A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
If you're a developer or IT admin, you’re probably tasked with managing multiple websites, servers, applications, and levels of security on a daily basis. While this can be extremely time consuming, it can also be frustrating when systems aren't wor…
Monitoring a network: how to monitor network services and why? Michael Kulchisky, MCSE, MCSA, MCP, VTSP, VSP, CCSP outlines the philosophy behind service monitoring and why a handshake validation is critical in network monitoring. Software utilized …

726 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question