2014-09-09 2 views
0

У меня есть asp: DropDownList, который заполняется из SQLdatasource, и мне нужно установить выбранные элементы в списке выбора (asp: DropDownList или asp: DropDownList).asp: DropDownList selectedvalues ​​в нескольких списках выбора

Вот мой код:

 <asp:SqlDataSource runat="server" ID="sqlAihealueet" 
ConnectionString="Server=SQL2008;Database=Data;UID=123;PWD=123" 
    SelectCommand="SELECT  TOP (100) PERCENT valikkoaktiivinen, alue, id, otsikko, osa1b, osa2b, osa3b, osa4b FROM   dbo.FiValikko"></asp:SqlDataSource> 

    <asp:DropDownList name="aihevalinta" id="aihevalinta" multiple="true" DataSourceid="sqlAihealueet" DataValueField="id" DataTextField="otsikko" class="populate placeholder" style="width:450px; font-size:11px" runat="server"> 
      </asp:DropDownList> 

На этой странице у меня есть все другие поля, установленные на коде, как это:

vapaaselite.text = drRow.Item("vapaaselitetxt").ToString 

Как я должен сделать, что несколько выбранных в этот список выбора на?

Я судимое это (aihealueet данные = "9682,9683"):

aihevalinta.SelectedValues = drRow.Item("aihealueet") 

не работает, дает мне ошибку: SelectedValues' не является членом «System.Web.UI.WebControls.DropDownList

Есть ли способ, которым я мог бы делать выбранные элементы прямо из sql-источника данных, из SQLquery? Я мог бы легко их пометить в SQLquery.

... или как это сделать с помощью asp: Listbox? Я попробовал такой же подход. Я могу получить только один элемент. Если я попытаюсь сделать еще один выбранный, то первые выбранные выбирают состояние исчезает.

aihevalinta.SelectedValue = "9565" 
aihevalinta.SelectedValue = "9566" 

enter image description here

Лучшее решение для меня было бы, чтобы отметить выбранный один из SqlDataSource с прямыми (то же самое, где список приходит форма). данные будут выглядеть так:

enter image description here

+1

Непонятно, что вы просите, но если вы пытаетесь выбрать несколько элементов в DropDownList, вы не сможете. Может быть более подходящим [ListBox] (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listbox (v = vs.110) .aspx). –

+1

ASP.NET DropDownList не имеет таких свойств, как «multiple» или SelectedValues, он позволяет вам выбрать только один элемент. Доступны настраиваемые веб-элементы управления, которые могут сделать это, например, выпадающий список Telerik или поле со списком Ajax. – PrzemG

+0

@ Все это не прямо, но возможно сделать несколько элементов в одном элементе. – FeliceM

ответ

0

Если я правильно понимаю, вы хотели бы, чтобы заполнить DropDownList с несколькими значениями, что-то вроде этого: enter image description here

Вполне возможно, я делаю это таким образом, :

Markup:

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"> 
        </asp:DropDownList>  

код позади:

if (!IsPostBack) 
     { 
      SqlConnection con = new SqlConnection(strConnString); 
      con.Open(); 
      str = "select * from Pagamenti ORDER BY [Data] DESC"; 
      com = new SqlCommand(str, con); 
      sqlda = new SqlDataAdapter(com); 
      ds = new DataSet(); 
      sqlda.Fill(ds, "Pagamenti"); 
      string spacer = " --|-- "; 
      for (int i = 0; i < ds.Tables[0].Rows.Count; i++) 
      { 
       DropDownList1.Items.Add(string.Format("{0:Id ####}", ds.Tables[0].Rows[i]["Id"]) + 
             spacer + Convert.ToDateTime(ds.Tables[0].Rows[i]["Data"]).ToString("dd/MM/yyyy") + 
             spacer + string.Format("{0:R #.###,##}", (ds.Tables[0].Rows[i]["Somma"]))); 
      } 
      con.Close(); 
     } 

Сообщите нам, если вы ищете то, что ищете.

+0

Я ищу решение для выбора нескольких элементов. в конце html на select будет выглядеть так: Timo77

+0

Лучшим решением было бы сделать выбор прямо из DataSource. Например, я мог бы сделать SQL-запрос, где будет один столбец данных, выбранный = 1 или выбранный = 0 – Timo77

+0

@ Timo77 абсолютно непонятно, что вы ищете. Обновите свой вопрос и постарайтесь быть ясными. – FeliceM

0

Мне пришлось сделать работу по моей проблеме. Я уверен, что для этого нужно еще лучше.

Моя работа была выполнена с использованием сценария jquery и не видимого поля текстового поля asp.net (valinnatlista).

<script> 

var data= $("#valinnatlista").val() ; 
var dataarray=data.split(","); 

$("#aihevalinta").val(dataarray); 
$("#aihevalinta").multiselect("refresh"); 

</script> 
Смежные вопросы