?
Solved

Create A RadiobuttonList with Images Asp.net 2.0

Posted on 2009-06-29
12
Medium Priority
?
344 Views
Last Modified: 2012-06-27
I am populating a radiobuttonlist from my database. I would like to add images by each radiobutton populated. Can someone show me how to do this?
0
Comment
Question by:npl77
  • 6
  • 6
12 Comments
 
LVL 41

Expert Comment

by:guru_sami
ID: 24739067
How are you dataBinding your RBL?
Here is a link trying to do that:
http://aspdotnetcodebook.blogspot.com/2008/09/howto-display-radiobuttonlist-with.html

Other option is to use a DataBound Control like GV/Repeater and place a RadioButton and an Image Control.
0
 

Author Comment

by:npl77
ID: 24739621
Im not sure how to implement the example in the url. This is how I am populating the radiolist...

 if (!IsPostBack)
            {
                dt = BMHAccess.GetProducts();
                PopulateList(RadioButtonList1, dt);
               
            }
 
private void PopulateList(RadioButtonList list, DataTable products)
    {
        list.DataSource = products;
        list.DataTextField = "Name";
        list.DataValueField = "ProductId";
        list.DataBind();
 
    }

Open in new window

0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24739713
From where does the image come?
i.e. how do you get url to your image?
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 

Author Comment

by:npl77
ID: 24739875
I have the images folder in my application. I dont know if I should store them somehow in my db or what
0
 
LVL 41

Accepted Solution

by:
guru_sami earned 2000 total points
ID: 24740381
Yes ..you will need some mapping between the images and corresponding products.
So say you have a column imageFileName in your DataTable then your PopulateList function should look like this:
 private void PopulateList(RadioButtonList list, DataTable dt)
    {
        for (int i = 0; i < dt.Rows.Count; i++)
        {
           // here 'images' corresponds to the folder in your application
            string imgsrc = "images/" + dt.Rows[i]["imageFileName"].ToString();;
            string value = dt.Rows[i]["ProductId"].ToString();
            list.Items.Add(new ListItem(String.Format("<img src=\"{0}\">", imgsrc), value));
        }
    }

Note: you cannot display the Name here.
0
 

Author Comment

by:npl77
ID: 24740566
I cannot display the name? how can I display the name? I want it to look....
image "space" [ProductName]
0
 

Author Comment

by:npl77
ID: 24740660
ok I almost got it!
this displays correctly
 list.Items.Add(new ListItem(String.Format("<img src=\"{0}\">" +  " "+dt.Rows[i]["Name"].ToString(), imgsrc), value));

but now my string manipulation is wrong... because of this ("<img src=\"{0}\"> stuff can you help me fix this string manipulation to correspond witn what I got


        string sFormat = RadioButtonList1.SelectedItem.ToString();
        string[] nameprice;
        nameprice = sFormat.Split('-');
 
        btnTodaysSelections.ItemName = nameprice[0].TrimEnd();
        btnTodaysSelections.ItemNumber = RadioButtonList1.SelectedValue;
        btnTodaysSelections.Amount = decimal.Parse(nameprice[1].Substring(2));

Open in new window

0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24740668
Is the above code working?
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24740685
Try like this ...
list.Items.Add(new ListItem(String.Format("<img src=\"{0}\">", imgsrc) + dt.Rows[i]["Name"].ToString(), value));
0
 

Author Comment

by:npl77
ID: 24740775
the data the SelectedItem is giving me is now...
<img src="images/AnImage1.gif"> Monthly Subscription - $29.95

I need string manipulation code to get rid of <img src="images/AnImage1.gif">
0
 

Author Closing Comment

by:npl77
ID: 31598014
I got it thank you
0
 
LVL 41

Expert Comment

by:guru_sami
ID: 24740874
oh i see what you mean:
try this:
     char[] ch = {'>','-'};
       string[] s1 = s.Split(ch);      
        string itemname = s1[1];
        string amount = s1[2];
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Sometimes in DotNetNuke module development you want to swap controls within the same module definition.  In doing this DNN (somewhat annoyingly) swaps the Skin and Container definitions to the default admin selections.  To get around this you need t…
ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
Planning to migrate your EDB file(s) to a new or an existing Outlook PST file? This video will guide you how to convert EDB file(s) to PST. Besides this, it also describes, how one can easily search any item(s) from multiple folders or mailboxes…
Free Data Recovery software is an advanced solution from Kernel Tools to recover data and files such as documents, emails, database, media and pictures, etc. It supports recovery from physical & logical drive after a hard disk crash, accidental/inte…
Suggested Courses
Course of the Month6 days, 12 hours left to enroll

592 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