2012-10-24 34 views
2

我的DropDownList這看起來是這樣的:在DropDownList中顯示多個值和編程accesing這些值

<asp:DropDownList ID="ddl1" runat="server" AutoPostBack="True" DataSourceID="lds1" 
           DataTextField="Description" DataValueField="Description" Height="22px" OnSelectedIndexChanged="ddl1_SelectedIndexChanged" 
           Width="339px" ondatabound="ddl1_DataBound">          
</asp:DropDownList> 

的LinqDataSource

<asp:LinqDataSource ID="lds1" runat="server" ContextTypeName="MyDataContext" 
           TableName="MyView" > 

</asp:LinqDataSource> 

MyView的:

SELECT  Description, COUNT(*) AS Quantity 
FROM   MyTable 
GROUP BY Description 

在下拉列表我要顯示如下數據:

description1 32

其中description1是來自MyView.Description的字符串,而32是來自MyView.Quantity的整數。我需要能夠訪問選定的下拉項目的數量programaticaly。

我的數據分組也可以直接在LinqDataSource中完成。無論什麼作品。

回答

1

使用ListControl.AppendDataBoundItems物業:

AppendDataBoundItems Documentation

從文檔:「在AppendDataBoundItems屬性,可以發生之前的數據綁定項添加到列表控件對象的數據綁定後,項目集合包含來自數據源的項目和之前添加的項目。「使用SelectedValue property以編程方式訪問數量。

1

您是否試過在SQL級別連接結果,將結果分配給您自己的變量並在下拉列表中使用它?

我的SQL需要拋光,但如果我記得沒錯它是這樣的:

SELECT field1 + ' -' + CONVERT(NVARCHAR, field2) as DisplayValue 

你會然後在下拉框中顯示DisplayValue。