Connecting Tech Pros Worldwide Forums | Help | Site Map

Get all selected values from listbox

JustRun's Avatar
Member
 
Join Date: Mar 2008
Posts: 110
#1: Sep 24 '08
Hi,

I'm trying to get all values from an asp:listbox that enable multiple choices, and i made the following code but it only gets the last selected item, only one.
I need to collect them all
Expand|Select|Wrap|Line Numbers
  1.         for (int i = 0; i <= lstDept.Items.Count-1; i++)
  2.         {
  3.             if (lstDept.Items[i].Selected)
  4.             {
  5.                 try
  6.                 {
  7.                     cmd = new SqlCommand(
  8.                         "INSERT INTO CoDepartmentTable(CompanyID, DeptID) " +
  9.                         " VALUES (@CompanyID, @DeptID) ", cnn);
  10.  
  11.                     cnn.Open();
  12.                     cmd.Parameters.AddWithValue("CompanyID", new Guid(ddlCompany.SelectedValue));
  13.                     cmd.Parameters.AddWithValue("DeptID", new Guid(lstDept.SelectedValue));
  14.  
  15.                     if (cmd.ExecuteNonQuery() == 1)
  16.                         lblErr.Text = "Your data have been saved successfuly";
  17.                     else
  18.                         lblErr.Text = "Unable to insert data </br> please refresh the page then try again";
  19.                 }
  20.  
  21.                 catch (Exception ex)
  22.                 {
  23.                     lblErr.Text = "Cannot insert duplicated value, <br/> The department '" + lstDept.SelectedItem.Text + "' had been assigned to this company before";
  24.                 }
  25.                 finally
  26.                 {
  27.                     if (cnn != null) cnn.Close();
  28.                 }
  29.             }
  30.  
  31.         }
  32.  
Any Ideas :(

Newbie
 
Join Date: Sep 2008
Posts: 2
#2: Sep 24 '08

re: Get all selected values from listbox


i have an example which i got from internet
Expand|Select|Wrap|Line Numbers
  1. <asp:Label id="Message" runat="server"></asp:Label>
  2.     <br />
  3.     Which city do you wish to look at hotels for?<br />
  4.     <form runat="server">
  5.         <asp:listbox id="list1" runat="server" selectionmode="multiple">
  6.             <asp:listitem>A</asp:listitem>
  7.             <asp:listitem>B</asp:listitem>
  8.             <asp:listitem>C</asp:listitem>
  9.         </asp:listbox>
  10.         <br />
  11.         <input type="submit" value="Submit Query" />
  12. </form>
  13.  
in page load paste this

Expand|Select|Wrap|Line Numbers
  1. string msgCitiesList = "";
  2.  
  3.       if (Page.IsPostBack == true)
  4.  
  5.         if (list1.Items[0].Selected == true)
  6.         {
  7.           msgCitiesList = msgCitiesList + list1.Items[0].Text + "<br />";
  8.         }
  9.  
  10.         if (list1.Items[1].Selected)
  11.         {
  12.           msgCitiesList = msgCitiesList + list1.Items[1].Text + "<br/>";
  13.         }
  14.  
  15.         if (list1.Items[2].Selected)
  16.         {
  17.           msgCitiesList = msgCitiesList + list1.Items[2].Text + "<br />";
  18.         }
  19.  
  20.         if (msgCitiesList != "")
  21.         {
  22.            Message.Text = "You have selected: <br />" + msgCitiesList;
  23.         }
  24.         else
  25.         {
  26.            Message.Text = "";
  27.         }
  28.       }
JustRun's Avatar
Member
 
Join Date: Mar 2008
Posts: 110
#3: Sep 27 '08

re: Get all selected values from listbox


Thank You, my code worked well just like that, I dont know ehy it didn't work b4 but at any rate, it works now.

Thank you
Reply