[英]C# - List<string>' does not contain a definition for 'Items'
[英]dropdown list in c# does not contain column
我已经为ac#应用程序安装了一个数据库。 我有三个表:电影(中,职称,导演,年),评论(中,rid,ratingDate,星星)和评论者(中,姓名)。 我希望下拉列表仅显示该列中的ratingDate年份(避免为空年份)。 然后,我希望将所选值发送到网格视图,以按所选评论年度中最高评分的顺序显示电影标题和平均评分。 每次我运行它时,它都说system.data.dataRowView不包含ratingDate。
这是我编写的代码:
-下拉列表的数据源
<asp:SqlDataSource ID="yearsreviewed" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT DISTINCT Year(ratingDate) FROM rating">
</asp:SqlDataSource>
- 下拉列表
<asp:DropDownList ID="ddlYear" runat="server"
DataSourceID="yearsreviewed" DataTextField="ratingDate"
DataValueField="ratingDate" AutoPostBack="True">
</asp:DropDownList>
--gridview的数据源
<asp:SqlDataSource ID="bestmovie" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT movie.title, AVG(rating.stars) AS newRating, rating.ratingDate FROM movie INNER JOIN rating ON movie.mid = rating.mid WHERE (rating.ratingDate IS NOT NULL) AND (YEAR(rating.ratingDate) = @ratingDate) GROUP BY rating.ratingDate, movie.title ORDER BY rating.ratingDate, newRating DESC">
<SelectParameters>
<asp:ControlParameter ControlID="ddlYear" Name="ratingDate" PropertyName="SelectedValue" />
</SelectParameters>
</asp:SqlDataSource>`
- 网格视图
<asp:GridView ID="gvBestMovie" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataSourceID="bestmovie" ForeColor="#333333"
GridLines="None">
<AlternatingRowStyle BackColor="White" />
<Columns>
<asp:BoundField DataField="title" HeaderText="title" SortExpression="title" />
<asp:BoundField DataField="newRating" HeaderText="newRating" ReadOnly="True"
SortExpression="newRating" />
<asp:BoundField DataField="ratingDate" HeaderText="ratingDate"
SortExpression="ratingDate" />
</Columns>
<EditRowStyle BackColor="#7C6F57" />
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#E3EAEB" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#F8FAFA" />
<SortedAscendingHeaderStyle BackColor="#246B61" />
<SortedDescendingCellStyle BackColor="#D4DFE1" />
<SortedDescendingHeaderStyle BackColor="#15524A" />
</asp:GridView>
我已经用不同的查询做了几乎完全相同的事情,并且效果很好。 请帮助我不知道我在想什么
在yearsreviewed数据源中,您是否尝试过在select语句中使用别名?
SELECT DISTINCT Year(ratingDate) as ratingDate FROM rating
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.