Solved

Convert DropDownList to a Label

Posted on 2004-09-16
13
1,033 Views
Last Modified: 2008-02-01
Hi,

I have a DropDownList that I populate with value from a Database.

The number of values that appear in the DropDownList is variable, and can range from 1 vaule to over 50 values.

When the total number of values in the DropDownList is 1, what I want to do is convert the DropDownList into a Label with the text value of the single value returned from the database.

Make sense?

OK, how do I do this???

Thanks in advance.

Steve.
0
Comment
Question by:ive5005s
  • 7
  • 3
  • 2
  • +1
13 Comments
 

Author Comment

by:ive5005s
ID: 12075183
Oh, I'm coding behind in VB.NET.

Cheers.
0
 
LVL 4

Assisted Solution

by:Kaarthick
Kaarthick earned 30 total points
ID: 12075265
There is no such option to convert a ComboBox to Label, but the trick is to use both Label and Combo.

Place both tools in your page. Hide both combo and Label initially. Use datareader to get the values. If the datareader contains more than one value then diplay it in the Combo and leave the Label as such.

If the condition fails i.e., if there is single row then hide the Combo and display the value in the Label instead.
0
 

Author Comment

by:ive5005s
ID: 12075364
Thanks Kaarthick, I like that method.

However, I'm binding the DropDownList to a DataSet.

So, how do I check if the DataSet contains more than one value???
0
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 
LVL 4

Expert Comment

by:Kaarthick
ID: 12075519
You should use DataReader and not DataSet because a DataSet extracts whole result adn you cannot perform the mentioned operations. So if you use DataReader then you can loop through values.
Hope you get my point.
0
 
LVL 9

Accepted Solution

by:
Thalox earned 50 total points
ID: 12075608
you could also use dataset.

before binding the dataset to your list, check how many rows it contains

dataset1.Tables(0).Rows.Count > 1

if true, bind the list, else set the value to the label and make it visible

label1.Text = dataset1.Tables(0).Rows(0)("value")

I'm not sure, whether this is corect vb code, but it should be something like this

Thalox
0
 

Author Comment

by:ive5005s
ID: 12075635
OK, how do I check if the datareader contains more than one value?
0
 

Author Comment

by:ive5005s
ID: 12075649
Thank Thalox, I'll try that.
0
 
LVL 4

Expert Comment

by:Kaarthick
ID: 12075652
Good try Thalox, yes you can try that too.
0
 
LVL 33

Expert Comment

by:raterus
ID: 12076365
If you could see yourself using this over and over I'd make your own control that implements this functionality, then you'd just have to use this whenever you wanted this, but if this is a one time thing, forget it :-)
0
 

Author Comment

by:ive5005s
ID: 12076872
This is something I'll be using a few times.

However, I'm not that experienced in creating my own controls.

How do I do this?
0
 
LVL 33

Assisted Solution

by:raterus
raterus earned 20 total points
ID: 12077577
Well this is something other articles will be much better at than I could explain.

http://www.aspalliance.com/cookbook/downloads/pdfs/0672325241_ch03.pdf

Here is what I'd do, this article will help you explain if you read it over..and over.

I'd create a new control that extends the dropdownlist.  then in the render event, if there was only one item, just output that item using the HtmlTextWriter, otherwise render the control as usual.

--Michael
0
 

Author Comment

by:ive5005s
ID: 12082660
Cheers.
0
 

Author Comment

by:ive5005s
ID: 12088671
Thanks for all the help guys.
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering 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

One of the pain points with developing AJAX, JavaScript, JQuery, and other client-side behaviors is that JavaScript doesn’t allow for cross domain request for pulling content. For example, JavaScript code on www.johnchapman.name could not pull conte…
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…
With Secure Portal Encryption, the recipient is sent a link to their email address directing them to the email laundry delivery page. From there, the recipient will be required to enter a user name and password to enter the page. Once the recipient …

856 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