【问题标题】:Adding "show all" to a drop down list in visual studio在 Visual Studio 的下拉列表中添加“全部显示”
【发布时间】:2015-06-12 16:40:58
【问题描述】:

我在 Visual Studio 2010 中创建了一个 GridView。 GridView 中显示的信息由下拉列表控制。 我可以在下拉列表中添加“全部显示”选项,以便 GridView 显示所有数据吗?

这就是我目前所拥有的......

下拉列表

<asp:DropDownList ID="DropDownList2" runat="server" 
    DataSourceID="dorpDownList2" DataTextField="Type" DataValueField="Type" AppendDataBoundItems="true" 
    AutoPostBack="True">
    <asp:ListItem Value="0" Text="Select a type"></asp:ListItem>
    </asp:DropDownList>

GridView 代码

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" 
    AutoGenerateColumns="False" DataSourceID="SqlDataSource1" ShowHeaderWhenEmpty="True" emptydatatext="No data was found.">
        <Columns>
            <asp:BoundField DataField="OrgName" HeaderText="Organisation" 
                SortExpression="OrgName" />
            <asp:BoundField DataField="ProjectTitle" HeaderText="Project title" 
                SortExpression="ProjectTitle" />
            <asp:BoundField DataField="Type" HeaderText="Type" 
                SortExpression="Type" />
            <asp:BoundField DataField="Amount" 
                HeaderText="Amount" SortExpression="Amount" 
                DataFormatString="{0:c}" />
            <asp:HyperLinkField DataNavigateUrlFields="OrgName" 
                DataNavigateUrlFormatString="orgDetails.aspx?OrgName={0}" 
                HeaderText="Details" Text="Organisation details" />
        </Columns>
    </asp:GridView>

SqlDataSource1

<asp:SqlDataSource ID="SqlDataSource1" runat="server"
    ConnectionString="<%$ ConnectionStrings:MyConnectionString %>"
    SelectCommand="SELECT [OrgName], [ProjectTitle], [Type], [Amount] FROM [tabRequest] WHERE [Type] = @Type">
</asp:SqlDataSource>

我显然可以使用 asp:ListItem 将“显示全部”添加到下拉列表中,但是如何添加功能以使其实际显示所有结果?

任何帮助将不胜感激。

谢谢, 詹姆斯

【问题讨论】:

  • 发布您的 SqlDataSource1 代码
  • 您修改数据源以接受控制参数(DDL)并修改 sql 以在 DDL SelectedValue 为 0 时显示所有数据
  • @EnriqueZavaleta 我已将 SqlDataSource1 添加到我的问题中。
  • 您是在尝试修改 Grid 在 Visual Studio 设计器中的行为方式,还是尝试在使用 GridView 运行程序时修改行为?编辑:另外,你为什么使用 Visual Studio 2010?您可以从the visual studio website免费获得 2013 社区版(2015 发布后也可以)
  • @ScottChamberlain 下拉列表和网格以 Web 形式运行。一切正常,但我想在下拉列表中添加一个项目,当用户选择它时显示“全部显示”,网格应该显示所有结果。我知道有更新版本的 VS。由于各种原因,我被 2010 年困住了。

标签: c# asp.net visual-studio-2010 gridview


【解决方案1】:

最简单的方法是通过配置数据源上下文菜单。您已经有了一个参数,当您完成配置过程时,您会来到一个名为“定义参数”的对话框。您应该看到“参数”列表中列出的“类型”。选择它并将参数源更改为“控制”,并在提示时指定 DDL。

诀窍在于,当Type 为 0 时,您需要有效地删除 select where 子句中的条件。这可以通过 IF 语句轻松完成。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2019-09-02
    • 2011-08-06
    • 2022-10-14
    相关资源
    最近更新 更多