Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > ASP .Net > listbox item font

Reply
Thread Tools

listbox item font

 
 
=?Utf-8?B?bWtpZ2Vy?=
Guest
Posts: n/a
 
      07-18-2005
Hey Guys.
I'm making an asp.net app and I have a question regarding listboxes. I
have a list box and I would like some of the items to be bold based on
certian criteria. Is this possible?
matt
 
Reply With Quote
 
 
 
 
=?Utf-8?B?SmFzb24gTCBMaW5k?=
Guest
Posts: n/a
 
      07-18-2005
I do not believe that is possible in HTML. You might want to look into using
an ASP.NET DataList.

Jason Lind

"mkiger" wrote:

> Hey Guys.
> I'm making an asp.net app and I have a question regarding listboxes. I
> have a list box and I would like some of the items to be bold based on
> certian criteria. Is this possible?
> matt

 
Reply With Quote
 
 
 
 
=?Utf-8?B?SmFjZWsgU3Rhd2lja2k=?=
Guest
Posts: n/a
 
      07-18-2005
No way! Standard ListBox is really "simple". Try something like this:

/// <summary>
/// ListBoxWithColor
///
/// Simple control that renders the color attribute of each ListBox option.
///
/// Usage:
/// ListBoxWithColor1.Items.Clear();
/// ListBoxWithColor1.Items.Add(new ListItem("Hubba","0"));
/// ListBoxWithColor1.Items[0].Attributes["style"] =
"background-color:red";
///
/// ListBoxWithColor1.Items.Add(new ListItem("Hubba1","1"));
/// ListBoxWithColor1.Items[1].Attributes["style"] =
"background-color:white";
///
/// ListBoxWithColor1.Items[1].Selected = true;
///
/// Test with:
/// M$ Internet Explorer 6.
///
/// </summary>
[ToolboxData("<{0}:ListBoxWithColor runat=server></{0}:ListBoxWithColor>")]
public class ListBoxWithColor : System.Web.UI.WebControls.ListBox
{
public ListBoxWithColor()
{
// constructor
}
/// <summary>
/// Override to save color attrib to viewstate
/// </summary>
protected override object SaveViewState()
{
// creat object array for Item count + 1
object[] allStates = new object[this.Items.Count + 1];

// the +1 is to hold the base info like dis
object baseState = base.SaveViewState();
allStates[0] = baseState;

Int32 i = 1;
// now loop thru and save each Style attrib for the List
foreach(ListItem li in this.Items)
{
allStates[i++] = li.Attributes["style"].ToString();
}
return allStates;
}
/// <summary>
/// Override to restore color attrib
/// </summary>
protected override void LoadViewState(object savedState)
{
if (savedState != null)
{
object[] myState = (object[])savedState;

// restore base first
if (myState[0] != null)
base.LoadViewState(myState[0]);

Int32 i = 1;
foreach(ListItem li in this.Items)
{
// loop thru and restore each style attrib
li.Attributes["style"] = (string)myState[i++];
}
}
}
/// <summary>
/// Override to render contents of ListBox
/// </summary>
protected override void RenderContents(HtmlTextWriter writer)
{
foreach(ListItem li in this.Items)
{
writer.WriteBeginTag("option");

if(li.Selected)
writer.WriteAttribute("selected","selected",false) ;

if(li.Attributes.Count > 0)
li.Attributes.Render(writer);

writer.WriteAttribute("value",li.Value.ToString()) ;
writer.Write(HtmlTextWriter.TagRightChar);
writer.Write(li.Text);

writer.WriteEndTag("option");
writer.WriteLine();
}
}
}


--
C# Dev


"Jason L Lind" wrote:

> I do not believe that is possible in HTML. You might want to look into using
> an ASP.NET DataList.
>
> Jason Lind
>
> "mkiger" wrote:
>
> > Hey Guys.
> > I'm making an asp.net app and I have a question regarding listboxes. I
> > have a list box and I would like some of the items to be bold based on
> > certian criteria. Is this possible?
> > matt

 
Reply With Quote
 
russ
Guest
Posts: n/a
 
      07-19-2005
works great. (nearly) exactly what I wanted...

changed the save/load viewstate to deal with all the attributes not
just style.

protected override object SaveViewState()
{
// creat object array for Item count + 1
object[] allStates = new object[this.Items.Count + 1];

// the +1 is to hold the base info like dis
object baseState = base.SaveViewState();
allStates[0] = baseState;

Int32 i = 1;
// now loop thru and save each Style attrib for the List
foreach(ListItem li in this.Items)
{
Int32 j = 0;
string[][] attributes = new string[li.Attributes.Count][];
foreach (string attribute in li.Attributes.Keys)
{
attributes[j++] = new string[] {attribute,
li.Attributes[attribute]};
}
allStates[i++] = attributes;
}
return allStates;
}

protected override void LoadViewState(object savedState)
{
if (savedState != null)
{
object[] myState = (object[])savedState;

// restore base first
if (myState[0] != null)
base.LoadViewState(myState[0]);

Int32 i = 1;
foreach(ListItem li in this.Items)
{
// loop thru and restore each style attrib
//li.Attributes["style"] =
foreach (string[] attribute in (string[][])myState[i++])
{
li.Attributes[attribute[0]] = attribute[1];
}
}
}
}

 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Swing Font, it's Java Font? ot native? how install new font? mttc Java 2 07-03-2009 07:29 PM
Listbox item added with client scripts not submitting with ASP:Listbox Simon Prince ASP .Net 2 10-19-2004 04:11 PM
How do I move all items in a listbox to another listbox kent ASP .Net 1 05-03-2004 12:17 AM
click listbox and refresh another listbox DC Gringo ASP .Net 0 04-06-2004 02:13 AM
Re: now desparate! - 1st listbox contents disappears when 2nd listbox appears? blenderdude ASP .Net 0 08-03-2003 10:18 PM



Advertisments