Forms Data Controls :: Assigning Colour To List Items Based On Their Values?
Feb 9, 2010
Is it possible to assign a colour to a drop down list item based on it's value?For example: I have a drop downlist where I've got a bunch of items that have integer
values. I would like to highlight the items with values in 1000s in grey.
I've boldified the items I'd like to be highlighted in grey ,For added complexity I need to highlight the items with values 1000 in a light shade of gray and items with values 2000 in a darker shade of grey. I'm using Web Developer, and C#
I come across the technique on how to apply a different CSS class to make a row stand out from the others. However, the original code is for gridview whilst I am trying to get it works on a listview. The original code for the gridview is as follows and how to get it done on listview.
I'm new to web dev and c# so please bare with me. I am trying to create a dynamic gridview in a web form for users to to answer questions with (code below).
The dificulty im having is that i am nesting a dropdwonlist in the gridview and want to be able to dynamically set the list values based on parameters (of the row they are on). These values are in the main dataset for the gridview as each row represents a questionid and question text and then a ddl for the criteria...
I just don't know how to set the values for the dropdown all the code so far is below... just need to be able to populate the dropdowns with the relevant values.
I have created a stored proc to return the different criteria based on the questionid and questionGroupid which is the dataset that populates the other fields in the gridview: dbo.usp_QuestionCriteria @QuestionGroupId, @QuestionId
I have added this as a tableadapter called criteriaTableAdapter in a xsd file as well using the wizard... not sure if this is the right option though or just use the same method as i have for the other stored procedure as in the code below:
[CODE
]using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using System.Data.SqlClient; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Sql"].ConnectionString); con.Open(); SqlCommand com = new SqlCommand("usp_QuestionGroupDS", con); com.CommandType = CommandType.StoredProcedure; SqlDataAdapter ada = new SqlDataAdapter(com); DataSet ds = new DataSet(); ada.Fill(ds); for (int i = 0; i < ds.Tables.Count; i++) { if (ds.Tables[i].Rows.Count > 0) { GridView gvDynamicQuestion = new GridView(); gvDynamicQuestion.Width = Unit.Pixel(700); gvDynamicQuestion.BorderWidth = Unit.Pixel(0); gvDynamicQuestion.Caption = "<div id="nifty" class="QuestionGroup"> <b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>" + ds.Tables[i].Rows[0]["Category"].ToString() + " Questions<b class="rbottom"><b class="r4"></b><b class="r3"></b><b class="r2"></b><b class="r1"></b></b></div>"; gvDynamicQuestion.AutoGenerateColumns = false; gvDynamicQuestion.ShowFooter = true; TemplateField tf = null; tf = new TemplateField(); tf.HeaderTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewTextTemplate("QuestionId", DataControlRowType.DataRow); tf.FooterTemplate = new DynamicGridViewTextTemplate(DataControlRowType.Footer, ds.Tables[i].Rows.Count); gvDynamicQuestion.Columns.Add(tf); tf = new TemplateField(); tf.HeaderTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewTextTemplate("Question", DataControlRowType.DataRow); gvDynamicQuestion.Columns.Add(tf); tf = new TemplateField(); tf.HeaderText = "Criteria"; tf.HeaderTemplate = new DynamicGridViewTextTemplate("Criteria", DataControlRowType.Header); tf.ItemTemplate = new DynamicGridViewDDLTemplate(); gvDynamicQuestion.Columns.Add(tf); ////tf = new TemplateField(); ////tf.HeaderText = "Criteria"; ////tf.ItemTemplate = new DynamicGridViewDDLTemplate(); ////gvDynamicQuestion.Columns.Add(tf); gvDynamicQuestion.DataSource = ds.Tables[i]; gvDynamicQuestion.DataBind(); phDynamicGridHolder.Controls.Add(gvDynamicQuestion); } } } protected void DynamicGrid_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.Footer) { // } } } public class DynamicGridViewTextTemplate : ITemplate { string _ColName; DataControlRowType _rowType; int _Count; public DynamicGridViewTextTemplate(string ColName, DataControlRowType RowType) { _ColName = ColName; _rowType = RowType; } public DynamicGridViewTextTemplate(DataControlRowType RowType, int QuestionCount) { _rowType = RowType; _Count = QuestionCount; } public void InstantiateIn(System.Web.UI.Control container) { switch (_rowType) { case DataControlRowType.Header: Literal lc = new Literal(); lc.Text = "<b>" + _ColName + "</b>"; container.Controls.Add(lc); break; case DataControlRowType.DataRow: Label lbl = new Label(); lbl.DataBinding += new EventHandler(this.lbl_DataBind); container.Controls.Add(lbl); break; case DataControlRowType.Footer: Literal flc = new Literal(); flc.Text = "<b>Total No of Questions:" + _Count + "</b>"; container.Controls.Add(flc); break; default: break; } } private void lbl_DataBind(Object sender, EventArgs e) { Label lbl = (Label)sender; GridViewRow row = (GridViewRow)lbl.NamingContainer; lbl.Text =DataBinder.Eval(row.DataItem, _ColName).ToString(); } } public class DynamicGridViewDDLTemplate : ITemplate { // Implementation of ITemplate public void InstantiateIn(System.Web.UI.Control container) { // Create a DDL DropDownList ddl = new DropDownList(); //Attach method to delegate ddl.DataBinding += new System.EventHandler(this.ddl_DataBind); container.Controls.Add(ddl); } //Method that responds to the DataBinding event private void ddl_DataBind(object sender, System.EventArgs e) { //DropDownList ddl = (DropDownList)sender; //DataGridItem container = (DataGridItem)ddl.NamingContainer; //ddl.Data.Checked = [Data binding expression]; } }
I want to select all the values from a table in my database and then put each value in order into labels that are on the asp page.
I can Select all the values from that database fine but I am rather stuck as how to put the values into the individual labels? Here is the code I have connecting to my database.
[Code]....
How can I put the DateTime value into Label1 and the Decription into Label2??
I have had a nose about but can't seem to find the information I need.
I am trying to make a way so that I can have a group with items in it, each one of the items (which is an object in a list) having a double type value, the total of all the items in the group is 100 when you add up all their properties. The purpose of this is that there can be random selection of the items.
When a request comes in, I need to be able to pick 1 of these items at the rate of 25% so that after a while (more and more requests) that each of these gets very close to 25%. I have tried looking at random numbers but pulling a number back seems useless in this case because for example if a random number retrieved was the number 5.4, how would I send it to an item? I cannot keep a history of the item requests so that I can factor that in. I need to be able to pick a random number and over time have each of these 4 items be selected an equal amount of times, the percentages and amount of items is going to change constantly but the sum of all the percent properties within a group is 100%. What is the best way to accomplish this in C# with a web form?
I have a drop down that lists all our 40+ locations.. I then have a list box with all our locations as well. The client is presented with the question which locations have you worked at before. If they pick say 3 locations, i need to remove or disable those 3 from the drop down. I have other code for creating a drop down, but not sure where to go with this.
I see that dropdownlist has an "items" property to get the list of displayed items for a dropdown, but it doesn't seem to have an equivalent property for getting the "values" associated with the items. For example, I may have a dropdown that displays "High", "Medium" and "Low", but returns values of "H", "M", "L". How can I easily get that list of HML?
Is it possible to select values from a List, where the items contain in a different list aswell?for example;
[Code]....
What I need are all the items from the first list "Items", where the string contains something from the second list "List".So I need something which returns the first 3 items (which contain the term "Item") from the first list.
I hv created menu using sitemap xmldatasource now i want to display that based on Category or Roles. I have Created 4 Category in my sql Server 2005. when particular user logged in based on his Category menu nodes should display.
I have al list that I would like to populate with new items from a textbox. But when I add a new Item it overwrites the old list with te "new" list. I declared the list outside the method so I don't know what the problem is.
just want to have a quick question about the value of dropdownlist listitem. I have a gridview which has its datakey value linked to a dropdownlist. In the dropdownlist I have many listitems. So I decided to combine some list items together. Originally, the values of the items are 1,2,3,4,5,6,7,8. But I want to have only 5 items by combining 5,6,7,8 into one listitem called "Others." So if the listitem "Others" is selected, the gridview will show all the records that have value 5 or 6 or 7 or 8. Is it possible? How can that be done?
I hope I made myself clear. Any question, I am happy to clarify.
This should give me the friends of the user currently logged in in the Repeater, but gives me an exception on the runtime that an instance needs to be initialized, can you please suggest a solution...
Also, what should be the value of the NavigateUrl property of a Hyperlink in an ItemTemplate if the url is:
"http://domain.com/viewprofile.aspx?id=" + 'THE UserID property of the current element in the list'
I want to define SelectParameters for my SqlDataSource in markup and then assign values in code, but when I use the syntax:
[Code]....
It works the first time, but won't let me re-add the parameters on subsequent postbacks.
I can't use ControlParameters in this case because the values in the controls are loaded from xml files and some minor parsing needs to be done to the values before they're passed to the database.
I have a DropDownList inside the EditTemplateItem (if the user clicks edit) in a GridView.The DropDownList receives all available rows from the database. My problem is,if the user clicks Edit in the GridView to edit a row and opens the DropDownList Box the original item is not selected but the first one.That means the items are sorted. Have someone an idea how I can solve this issue that the right item / the original is selected if I change to edit mode of the grid view?
For eg..in Stackoverflow site, after giving answer, if we are refreshing the page, it displays the answer with orange color and turns to white beautifully?
How we have to do this ? Can it is possible in asp.net - C# ?
using asp.net 4 and vs 2010 I have a listview that displays data from a database. I have to configure it to display all column data where present, however, not all columns have data, with the result that blank spaces get rendered where this data would normally be displayed.
The code:
[Code]....
So, for example, some of the individuals that exist in this table might no longer be associated with a specific department, institution or have data in the "Address2" column.
On my website, registered users can make a profile about themselves suchas name, Favoirite color, hobbies, etcI have a DataTable called User which hold this information.also there are other datatables for Hobbies and Colors which list all possible options.To let the user update their choices I have a FormView in Edit mode on the aspx page whichis binded to the UserTable with a GetProfileByUserId Method and objectdatasource.
Within the formview, i have added drop down lists that are binded to the hobbies and Colors tables so they can edit their previous selection.On clicking Uodate update formview calls an Update Method that adds new selections to the User databaseNow I have two questionsIs it possible to show in the dropdown list the selected value that the User has already made?If the user only changes hobbies and not colors when they click update will a null value be passed into the data table for colors that replaces their previous selection?