我有DropDownList这看起来像这样:
<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>
我的看法:
SELECT Description, COUNT(*) AS Quantity
FROM MyTable
GROUP BY Description
在下拉列表中,我想显示如下数据:
description1 32
其中description1是MyView.Description中的字符串,32是MyView.Quantity中的整数。而且我需要能够以编程方式访问所选下拉项的数量。
我对数据进行分组也可以直接在LinqDataSource中完成。无论如何。
最佳答案
使用ListControl.AppendDataBoundItems属性:
AppendDataBoundItems Documentation
在文档中:“ AppendDataBoundItems属性允许您在数据绑定发生之前将项目添加到ListControl对象。在数据绑定之后,items集合既包含数据源中的项目,也包含先前添加的项目。”
使用SelectedValue property以编程方式访问数量。