Forms Data Controls :: Add A Sub-list To Dropdownlist Control?
Oct 5, 2010
I have question about dropdownlist control.I have a dromdownlist control which shows the list of dealers.I want to add a sub-list to each dealer which should populate the products available at that particular dealership.I don't want to select value from sub-list display.
How to validate DropDownCheckBoxes control at client side(javascript or Jquery)? I would like to restrict the user to submit the page if no item is selected in the dropdowncheckboxes control. i.e no check box is checked.Javascript/Jquery code to validate the control at client side.
I have a problem with binding a DropDownList. Let's assume a database five years old with many historical records. In order to enable just working with active data every datasource has a column hidden which is occasionally set by administrator in order to clean up old records. The selection looks like
1) SELECT Id, Value FROM Table WHERE Hidden = 0
The issue arises when the user opens a form with old data. As some records in DropDownListhave have already been hidden an exception is raised as the component cannot find the data for the list. For this case the following selection is valid
2) SELECT Id, Value FROM Table
it is possible to combine these two selection queries? The display value should always use query 2 while the listed values should use the query 1.
I have many controls on my form, but in particular, I have 2 dropdownlists. 1 dropdown list has 2 values, and each value controls what the second dropdownlist displays. This is an edititemtemplate and both dropdowns have the selecteditem set via '<%# Bind("fieldname") #>' on page load.
THe problem is, if I change the value of the first dropdown, it errors out because the second dropdwon has a bound value that is no longer acceptable.
Can I cancel the bind of the second control, if the the first one is changed? I would like to cancel the bind, and update the values by using a different datasource depending on the value of the first dropdown or hardcode the new values.
If Dropdown1 has a value of "A" for example Dropdown 2 Shows Values "1", "2", "3"
If Dropdown 1 has a value of "B" , Dropdown2 Shows Values "4", "5", "6".
It binds fine initially, but if I change Dropdown1 from A to B, I want Dropdown2 to show the new values, maybe with a default of "Select an Item" and not error out b/c it's attempts to bind a value of 1, 2, or 3.
I have a standard gridview and detailsview. My detailsview has some fields which are templates, with dropdownlists. The user selects a record in the gridview, then can go down to the detailsview, select Edit, and change some values (using dropdownlists).I am getting the error, "DDL has a selectedvalue which is invalid because it does not exist...." when I click Edit in the detailsview.
I know the problem has something to do with the dropdownlists not being instantiated or bound until I enter Edit mode. Is that right? In what event should I databind my dropdownlists? I've tried several things but could not get it to work. Do I have to loop through all the rows of my details view looking for the dropdownlists, or can I access them directly from some event?
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've got a dropdownlist control that the user can select an an employee name and that should then fill in the detailsview control with specific information about that employee.
My dropdownlist control works fine and I do have AutoPostBack set to true. For some reason my detailsview doesn't work. There's no error message. The detailsview control just doesn't show up.
Here's my code:
This is the sqldatasource control for the dropdownlist control:
[Code]....
This is the sqldatasource control for the detailsview control:
I'm trying to setup a page that will utilize a dropdown list control inside of a grid view control using VS 2005 2.0 version. Everything that I can find online seems to only show the use of the dropdown list control using a data grid. I don't want to use a data grid because it doesn't have the functionality/ power as the grid view control. how I can incorporate a dropdown list control with the grid view control? Here is a copy of my code.
I've put a DropDownList control within a LoginView control. I've got 2 SqlDataSource controls outside of the LoginView control, with the intent of databinding the items that comprise the ListItems of the DropDownList control, and another one for the data is stored in another table which has what was previously saved for the selection. However, when I've assign the SqlDataSource control to the DropDownList control's DataSourceID for the lookup table, I'm used to seeing the fields from the SqlDataSource control appearing in the DataTextField and DataValueField properties. However, they're not appearing there at all. Moreover, even when I try to type them in, its as if VS 2010 refuses to allow them.
How Can I use MultiView with Data List Control .... I want the Items in Data List Appear as Collapsed Views and let The User to Expend what he want so how can i handle that ?
I got this error when select a row from a grid view to update
'ddl_ctegOf_Product_update' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.ArgumentOutOfRangeException: 'ddl_ctegOf_Product_update' has a SelectedValue which is invalid because it does not exist in the list of items.Parameter name: value
Source Error: Line 265: txt_prodID_update.Text = gridTo_updateFrom.SelectedRow.Cells[1].Text; Line 266: txt_prod_name_update.Text = gridTo_updateFrom.SelectedRow.Cells[2].Text; Line 267: ddl_ctegOf_Product_update.SelectedValue = gridTo_updateFrom.SelectedRow.Cells[3].Text; Line 268: txt_cateIn_hardCopy_update.Text = gridTo_updateFrom.SelectedRow.Cells[4].Text.Replace(" ", ""); Line 269: txt_prodID_update.ReadOnly = true;
The code of update:
private void PopulateDropDownList() { string constr = ConfigurationManager.ConnectionStrings[1].ConnectionString; using (SqlConnection con = new SqlConnection(constr)) { using (SqlCommand cmd = new SqlCommand("SELECT CategoryProd_ID,Cate_Pro_Name FROM CategoryOfProduct", con)) { using (SqlDataAdapter da = new SqlDataAdapter(cmd))
I have a dropdown list in a gridview field. The DataValueField for the ddl is an 8 digit item code. The text to display through will be quite longer, 40-60 characters because it will combine the item code and item name into a single string. I don't want the dropdownlist field to be that wide though, only what is displayed when the ddl is selected.In Access you can set the width property of the list to display wider than the field itself. Is there that capability in ASP.NET and if so where do I find it?
I need a develop a smart dropdown list for an inhouse application
Let assume, i have a dropdownlist with the following values:
ABC EDF XYZ A123 B456
Now when the user types A in the drpdownlist (we can type anything onthe dropdownlist, but we can superimpose a textbox on it), the dropdwn list should sort itself and show only ABC and A123.
the problem is that , i have two dropdown in a datagrid one dropdown contain diffrent type of tax name and other contain the tax rate releated to that tax and i also have one buttton i datagrid which work to insert another row for next tax type.now problem is that as sooon as the new row inserted the both dropdown takes the values but as soon as i changed the selected index of dropdown taxname then then all the taxrate dropdown values has been changed with respect to the new one taxname values.
I've got a GridView populated via a SqlDataSource whose Select command is controlled by a DropDownList. This is all working nicely:
How do I support the "All" user choice:
In other words, when the user selects "All" there are no aircraft names that match that so nothing is returned. Instead, I'd like the select statement to skip the WHERE clause in this case and just show everything. Do I need to create a second page for this case or is there a way to programmatically alter the SELECT command or some other way to accomplish this?