asp.net - 使用 ListBox 在 Visual Studio 2010 中过滤网格

标签 asp.net visual-studio

我正在 VS 2010 中构建一个数据库驱动的 Web 应用程序,我有一个页面在 GridView 中显示我的数据。我希望能够根据“类型”(我的一个专栏的名称)过滤结果。

我添加了一个 ListBox,其条目是通过我的数据库中的 EntityDataSource 填充的,并且我同时设置了 AutoPostBack 和 SelectionMode on Multiple。然后,我的 GridView 使用以下代码来填充:

<asp:EntityDataSource ID="EntityDataSource2" runat="server" 
    AutoGenerateWhereClause="True" ConnectionString="name=ABCCandidatesEntities" 
    DefaultContainerName="ABCCandidatesEntities" EnableFlattening="False" 
    EntitySetName="Candidates" EntityTypeFilter="Candidate" Where="">
        <WhereParameters>
            <asp:ControlParameter ControlID="ListBox1" Name="Type" 
                PropertyName="SelectedValue" />
        </WhereParameters>
</asp:EntityDataSource>

如果列表框中只有 一个 项目被选中,这会很好地工作,但如果 多个 被选中,它就不起作用 -- 它只是将其视为单个选择。我怎样才能让它发挥作用?

在站点说明中,是否有更简单的方法来设置 GridView 的过滤?

谢谢!

最佳答案

如果您查看智能,它会显示 .SelectedValue 返回一个字符串。 .GetSelectedIndices() 是唯一返回我能看到的所有选定值的成员,但是因为它是一种方法而不是属性,所以不确定您应该如何绑定(bind)到它。

据我所知,这是列表框的限制。要获得您正在寻找的功能,您需要编写一些代码隐藏和/或 javascript 来提取查询的值。

关于asp.net - 使用 ListBox 在 Visual Studio 2010 中过滤网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6456175/

相关文章:

javascript - 请建议我应该为我的应用程序提供哪种浏览器兼容性?

c# - 如何调试包含 ASP classic、ASP.NET、C# 和 VB 的项目?

c# - 从 .NET Core 中的模型创建数据库表

visual-studio - Visual Studio打开文件问题

c# - 缺少方法 'instance class [mscorlib]System.Collections.Generic.IEnumerable` 1

c# - 为什么我的计数器不增加?

c# - 如何在 C# 中将包含 HTML 的字符串呈现为图像?

visual-studio - 从 Blazor 项目的源代码管理中删除敏感信息

c++ - Visual Studio 2010 Express Edition 中的 "Cannot open include file: ' ofstream '"错误?

visual-studio - 警告错误 - 如何摆脱这些