MVC :: Populating Dropdownlist From Different Collection?
Mar 23, 2011
I'm new to MVC pattern and I have a question regarding to a dropdownlist. Actually My Data came from a collection (random string) then it displays it in a list. And yes it display, so I add a dropdownlist. And I can populate it using the same collection. My question is how can I populate the dropdownlist from different collection?
I am making an application that deals with vehicles. I need two DropDownLists:
Makes: All Vehicle Makes Models: Models that belong to the selected value of the Make DropDownList
How is this done in MVC2? My Idea: Do I use an ajax call when my first list is selected and then pull back the Models to bind to the Model DDL? How would model binding come into play that way? UPDATE I posted what I ended up doing as an answer. It is super simple and works great. You can use a get too if you feel so inclined, but you have to specify that you want to like so... return Json(citiesList, JsonRequestBehavior.AllowGet);
I have one table which contains branch codes(primary key), Branch name and bank name columns. I have 3 dropdownlist boxes. the first dropdownlist is for the branch codes. When i select the a branch code i need the second dropdownlist box to populate with the appropriate branch name and the third dropdownlist box to populate the bank name at the same time.
Is it possible to have one table like mine and acheive this, if so how do i go about doing this?
I did read up on this but only came across ones with 3 tables.
I am getting a problem while working with the Dropdownlist in VS2008. I am trying to populate the DDL using c# codding instead of creating DataSource in GUI. The DDL is getting populated as expected, but then I've added a label that will show the current selected item; for this I've written a code in DropDownList1_SelectedIndexChanged() :
I hae also enable AutoPostback for the DDL. I have placed the PopulateDDL() method inside of the Page_Load(); But whenever I select a item, it's always giving only the first item's name as the Lebel.Text. But when I use GUI and ceate a SqlDataSource and attach that to the DDL all works fine. What to do??
so I am having an issue getting a drop down list to choose the right value when it renders. It always defaults to index zero. However, I do have a view in another place where it renders just fine and selects the right value. I don't understand the difference.
Here is a trimmed down version of the view that works correctly:
@model AppName.Models.Guest @using (Html.BeginForm()) { Attending Ceremony?<br /> @Html.DropDownListFor(x => x.ConfirmCeremony, new SelectList(new Dictionary<string, string> { {"No Answer", "No Answer"},
Using MVC2, I want to know how you add the options of a dropdownlist from a database. I have several lookup lists so I will need to do this many times. I'm stuck on part 5 of the MusicStore (which is using MVC3) at this part
[Code]....
Alternatively if someone could recommend an MVC2 tutorial which covers drop lists.
I have code that populates 2 dropdownlist in a gridview. DropStart And DropEnd I want to add time values depending on a few things here's the routine I cal.
Code:
Public Sub GenerateTime(RowIndex As Integer) Dim ComboStart As New DropDownList Dim ComboEnd As New DropDownList Dim ItemList As ListItem Dim TimeInterval As Integer Dim IntervalleCalcul As Integer Dim NombreIntervalles As Integer
[code]....
now this code is called, and runs fine, it goes in the for loop and I see if I trace it that combostart and comboend both have 96 Items in them as expected. hence it did find the controls in the gridview. but when I exit this sub and continue the code by just running the code in the asp.net page the two corresponding dropdown control don't get the values that did get added in the code behind.
In the RowEditing is when I call this routine.
Code:
Private Sub GridDetails_RowEditing(sender As Object, e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles GridDetails.RowEditing
GridDetails.EditIndex = e.NewEditIndex GridDetails.DataBind() GenerateTime(GridDetails.EditIndex) End Sub
How I populate a dropdownlist from code behind. I want to add the items from an access database. I know how to read the rows but don't know how I add them to the dropdownlist. What I mean by this is I need to add a value column and a display column because I want to save the code value not the display value.
Here is the code from a datagrid edit command in which I am attempting to populate a DropDownList in the EditTemplate from the database. The result is only one item (the first) from the database, instead of all items.
To speed things up for the visitor of my web page, I put a personalised dropdownlist in a session variable (as below).
The idea is that if the user is logged in and the ddl session variable is Nothing then it should be set here, and the next times the dropdownlist should be set from this session variable.
The session seems to be populated ok, but the resulting dropdownlist (ddlMenu) doesn't (it just becomes blank). I suspect that it has soemething to do with the way I try to assign it. No matter what I try I run into problems, saying that one thing is a one-dimensional array and the other thing a listitemcollection, or the like. What should I write in the last line?
If Session("aid") IsNot Nothing And Session("ddl") Is Nothing Then Dim ddlny As New DropDownList ddlny.Items.Add(New ListItem(vstr, "")) ddlny.Items.Add(New ListItem(kontrstr, "PageA.aspx")) ddlny.Items.Add(New ListItem(bstr, "PageB.aspx")) If dt IsNot Nothing Then 'dt is a datatable, populated elsewhere For i As Integer = 0 To dt.Rows.Count - 1 ddlny.Items.Add(New ListItem(dt.Rows(i).Item("name"), dt.Rows(i).Item("did"))) Next End If Session("ddl") = ddlny End If ddlMenu.Items.Clear() ddlMenu = Session("ddl") 'THIS IS THE LINE THAT SHOULD BE REWRITTEN.
I am trying to populate (store) an access database with the information from a DropDownList.
At the moment i have a form where the user inputs data into a textbox and on sumbission it adds to the access database. I am unsure how to add data to the database from the selections choosen in the DropDownList. I have a DropDownList for Title e.g. Mr,Mrs,Ms,Miss.
I have provided the code that populates the database from the TextBox's
i am working on an availability / booking system, one element in the form will be a dropdownlist control with a selection of date ranges for a customer to select the period they want to book.these will be a list of ranges for each week (monday - sunday)eg
27th Sep - 3rd Oct 2010 4th Oct - 10th Oct 2010 11th Oct - 17th Oct 2010
etc
is there an way to populate this dropdownlist dynamically from a calendar or date function so it can cater for dates up to 18 months ahead?i dont really want to populate it from database entries or hard coded list items if there is a less laborious way.
Protected Sub gvPunches_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs) Handles gvPunches.RowEditing Dim i As Integer = e.NewEditIndex() Dim ddl As DropDownList = CType(gvPunches.Rows(i).FindControl("ddlDiv"), DropDownList)
the question I have is when i enter this procedure in the code behind, ddl is nothing. what am I doing wrong in populating the dropdown for the row I am editing?
I have 3 dropdownlist controls for use with capturing birth dates. One captures the month, the next the day and the next the year. Rather than having to use 3 different xml files to populate the controls I want to be able to use just 1 xml file, but I haven't been able to work things out. I thought this would work:
I thought I'd be able to assign the datatextfield of month, day or year to a given control, but this isn't working. They show up in the datatextfield dropdown in properties, but when I try to view the page in a browser I get an error that tells me the field (i.e., day) does not exist. Is there a way I can accomplish this? I am developing an ASP.NET 2.0 site in VS 2005.
z'm trying to create a webpage for ticket purchases. When selects an option from a dropdown list and clicks a button, I want them to be taken to the next page where a textbox will be auto-populated with their choice from the dropdown list. For some reason, I can't figure out how to get them to communicate. On Form1 I can get Form2 to open onclick but for some reason, when I put code into pageload for Form2 to pull data from Form1, it won't work. For example, on Form2 I would put the following code under pageload: textbox1.text = Form1.textbox2.text
The Insert row in the ListView has an empty DropDownList and GetCountries() is not called. However, if I click the Edit button on an existing row, GetCountries() is called twice (not sure why) and the DropDownList is properly populated. Why isn't the InsertItemTemplate DropDownList getting populated?
On my formview I have a drop down list that is populated with the names of the files in a certain directory. This works fine, but when the drop down list selected value is bound to the database field I get the following error :
'ImageFileDropDownList' has a SelectedValue which is invalid because it does not exist in the list of items. Parameter name: value
I have setup other drop down lists in the same formview populated from SqlDataSources and these all work fine. I can see perhaps why this is an issue because I have not specified a DataValueField or a DataTextField for this drop down that is populated in code (whereas I can for the SQL bound ones) because I'm not sure what these settings would be.
I need to have a "blank" option as well so that the field does not default to the first value in the list.
My code (I have stripped out some meaningless controls) :
1. textbox (Search for staff) 2. Dropdownlist( Search for department) 3. Listbox( Populate staff name based on textbox or dropdownlist)
I am able to populate the staffs indenpendantly according to what is written in textbox or dropdownlist. Whar i wanted to do is mix the population of staffnames from textbox and dropdownlist. In other words, when i search "sandra' in textbox and select a Department A , the listbox will show all the sandra from Department A only.