<asp:Repeater ID="Repeater1" DataSourceID="SqlDataSource1" runat="server">
<HeaderTemplate>
<table border="1">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:HyperLink ID="HyperlinkA" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("A") %>' /></td>
<td><asp:HyperLink ID="HyperLinkB" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("B") %>' /></td>
<td><asp:HyperLink ID="HyperLinkRQ" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("RQ", "{0:m}") %>' /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
OnSelecting="SqlDataSource1_Selecting" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="select A, B from TABLE where RQ>=@RQ order by CLRQ desc" DataSourceMode="DataReader">
<SelectParameters>
<asp:Parameter Name="RQ" />
</SelectParameters>
</asp:SqlDataSource>protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
SqlDataSource1.SelectParameters["RQ"].DefaultValue = DateTime.Now.AddDays(-3).ToShortDateString();
}时,Repeater里什么都不显示。
而把SqlDataSource绑定到GridView时就能正确显示数据。
如:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" DataSourceID="SqlDataSource1">
</asp:GridView>搞不清为什么。<SelectParameters>
<asp:Parameter Name="CLRQ" DefaultValue="2008-5-19" />
</SelectParameters>
时,Repeater只显示5-19日的数据,而GridView显示3天前到当天的数据(即RQ>=DateTime.Now.AddDays(-3))。
<HeaderTemplate>
<table border="1">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td><asp:HyperLink ID="HyperlinkA" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("A") %>' /></td>
<td><asp:HyperLink ID="HyperLinkB" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("B") %>' /></td>
<td><asp:HyperLink ID="HyperLinkRQ" runat="server" NavigateUrl="~/default.aspx" Text='<%# Eval("RQ", "{0:m}") %>' /></td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
OnSelecting="SqlDataSource1_Selecting" ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="select A, B from TABLE where RQ>=@RQ order by CLRQ desc" DataSourceMode="DataReader">
<SelectParameters>
<asp:Parameter Name="RQ" />
</SelectParameters>
</asp:SqlDataSource>protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
SqlDataSource1.SelectParameters["RQ"].DefaultValue = DateTime.Now.AddDays(-3).ToShortDateString();
}时,Repeater里什么都不显示。
而把SqlDataSource绑定到GridView时就能正确显示数据。
如:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="true" DataSourceID="SqlDataSource1">
</asp:GridView>搞不清为什么。<SelectParameters>
<asp:Parameter Name="CLRQ" DefaultValue="2008-5-19" />
</SelectParameters>
时,Repeater只显示5-19日的数据,而GridView显示3天前到当天的数据(即RQ>=DateTime.Now.AddDays(-3))。
<SelectParameters>
<asp:Parameter Name="RQ" DefaultValue="2008-5-19" />
</SelectParameters>
不是CLRQ. 参数没问题。
SelectCommand="select A, B from TABLE where RQ>=@RQ order by CLRQ desc" DataSourceMode="DataReader">
<SelectParameters>
<asp:Parameter Name="RQ" DefaultValue="2008-5-19" />
</SelectParameters>
</asp:SqlDataSource>
SelectCommand="select A, B from TABLE where RQ>="2008-5-19" order by CLRQ desc" DataSourceMode="DataReader">
</asp:SqlDataSource>
SelectCommand="select A, B from TABLE where RQ>="2008-5-19"
不是固定值问题。
<SelectParameters>
<asp:Parameter Name="RQ" DefaultValue="2008-5-19" />
</SelectParameters>
时DetailsView才显示数据.
========================================
而
<SelectParameters>
<asp:Parameter Name="RQ" />
</SelectParameters>
加上
protected void SqlDataSource1_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
{
SqlDataSource1.SelectParameters["RQ"].DefaultValue = DateTime.Now.AddDays(-3).ToShortDateString();
}时Repeater不显示数据的问题,这种情况下GridView显示数据,而Repeater为什么不能显示,这个问题。
楼主用存储过程吧,SQL里面自带函数