我有asp:DropDownList,它是从SQLdatasource填充的,我需要在选择列表上设置选定的项目(asp:DropDownList或asp:DropDownList)。
这是我的代码:
<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 data =&#34; 9682,9683&#34;):
aihevalinta.SelectedValues = drRow.Item("aihealueet")
不工作,给我错误:SelectedValues&#39;不是System.Web.UI.WebControls.DropDownList
的成员我是否可以直接从SQL数据源sql数据源创建选择项?我可以在SQLquery上轻松标记它们。
...或者我如何使用asp:Listbox执行此操作?我尝试了同样的方法。我只能选择一个项目。如果我尝试选择其他一个,则第一个选择的选择状态将消失。
aihevalinta.SelectedValue = "9565"
aihevalinta.SelectedValue = "9566"
对我来说,最好的解决方案是从SQldatasource标记选定的一个straigt(列表的形式相同)。数据将是这样的:
答案 0 :(得分:0)
如果我理解正确,您希望使用多个值填充DropDownList,如下所示:
有可能,我这样做:
标记:
<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();
}
如果您正在寻找的话,请告诉我们。
答案 1 :(得分:0)
我不得不解决我的问题。我确信必须有更好的方法来做到这一点。
我的工作是使用一些jquery脚本和不可见的asp.net文本框字段(valinnatlista)完成的。
<script>
var data= $("#valinnatlista").val() ;
var dataarray=data.split(",");
$("#aihevalinta").val(dataarray);
$("#aihevalinta").multiselect("refresh");
</script>