我在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>
我显然可以添加&#34;显示全部&#34;使用asp:ListItem到下拉列表但是如何添加实际显示所有结果的功能?
非常感谢任何帮助。
谢谢, 詹姆斯
答案 0 :(得分:1)
最简单的方法是通过“配置数据源”上下文菜单。您已经有了一个参数,当您在配置过程中进入一个名为Define Parameters的对话框时。你应该看到&#34; Type&#34;在参数列表中列出。选择它并将参数源更改为&#34; Control&#34;并在提示时指定DDL。
诀窍是当Type
为0时,你需要有效地删除select where子句的条件。这可以通过IF语句轻松完成。