Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何基于“全部”、“类别”筛选表达式?_C# - Fatal编程技术网

C# 如何基于“全部”、“类别”筛选表达式?

C# 如何基于“全部”、“类别”筛选表达式?,c#,C#,我正在使用AccessDataSource连接到access数据库以获取课程列表。我主要依赖于预构建的控件-GridView <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="AccessDataSource1" EmptyDataText="There are no data records to display."> &

我正在使用AccessDataSource连接到access数据库以获取课程列表。我主要依赖于预构建的控件-GridView

<asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataSourceID="AccessDataSource1" EmptyDataText="There are no data records to display.">
<Columns>
     <asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
     <asp:BoundField DataField="category" HeaderText="category" SortExpression="category" />              
</Columns>
</asp:GridView>

我的问题是我想通过下拉列表根据类别过滤数据。但是,下拉列表不显示非清晰

<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="AccessDataSource1" DataTextField="category" DataValueField="category">
            </asp:DropDownList>

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="C:\Users\x\Documents\Visual Studio 2013\WebSites\WebSite2\courses.mdb" SelectCommand="SELECT [title], [category] FROM [mainclasslist]"></asp:AccessDataSource>

我需要能够创建一个显示以下内容的视图:

表类别1

  • 课程1
  • 课程2
课程类别2

  • 课程1
所以等等


我应该使用2个数据源吗?gridview应该根据下拉列表进行过滤。但在初始加载时,我需要所有课程都可见。

您的类别是否在单独的查找表中?看看ControlParameters。不,我是从同一个表中提取它们。如果我只是创建另一个access数据源,这是一种不好的做法吗?如果我添加一个带有where子句的controlparameter,我如何才能返回所有结果?好吧,没有非规范化数据那么糟糕:)您可以使用一个选择不同类别来创建下拉源,然后在网格上设置一个控制参数。您可能需要在下拉列表中添加一个空项,然后添加AppendDataBoundItems=“true”。