我想通过在dateedit中选择日期和时间来过滤我的gridview。我放了一个具有DataBind()控件的按钮。 GridView的DataSource的查询有一个WHERE子句。它有一个控制连接gridview和dateedit。当我测试查询时,它工作正常。我启用了ButtonClick事件并将以下代码写入:
protected void ASPxButton2_Click(object sender, EventArgs e)
{
DateEdit.DataBind();
SQLDataSource.DataBind();
ASPxGridView.DataBind();
}
正如你所看到的,我绑定了我需要的所有东西。但是,当我选择日期和时间并单击按钮时,不显示任何项目。我错过了什么?如果你帮忙,我感激不尽。
答案 0 :(得分:1)
我是DevExpress ASP.NET技术推广人员,Mehul。
有很多方法可以解决这个问题,但我建议使用ASPxGridLookup控件,它在下拉列表中为您提供网格: http://demos.devexpress.com/ASPxGridViewDemos/ASPxGridLookup/FilterServerMode.aspx
您还可以使用内置功能: http://www.devexpress.com/Support/Center/p/Q267406.aspx 或者试试这个样本: http://www.devexpress.com/Support/Center/e/E2040.aspx
其中一些也可能对您有所帮助: http://search.devexpress.com/?q=filter+external&p=T4|P5|57
要回答您的原始问题,此示例将向您展示如何在外部按钮单击上进行数据绑定: http://www.devexpress.com/Support/Center/e/E1662.aspx
谢谢,希望有所帮助。
答案 1 :(得分:0)
不幸的是,您没有发布显示SQLDataSource如何调整的代码。但是,我试图重现这个问题并失败了。这是我的代码:
<dx:ASPxGridView ID="gvSupply" ClientInstanceName="gvSupply" Width="100%"
DataSourceID="SqlDataSource3" KeyFieldName="OrderID" AutoGenerateColumns="False" runat="server">
<Columns>
<dx:GridViewDataTextColumn FieldName="OrderID" ReadOnly="True" VisibleIndex="0">
<EditFormSettings Visible="False" />
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="CustomerID" VisibleIndex="1">
</dx:GridViewDataTextColumn>
<dx:GridViewDataTextColumn FieldName="EmployeeID" VisibleIndex="2">
</dx:GridViewDataTextColumn>
<dx:GridViewDataDateColumn FieldName="OrderDate" VisibleIndex="3">
</dx:GridViewDataDateColumn>
</Columns>
</dx:ASPxGridView>
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>" SelectCommand="SELECT * FROM [Orders] WHERE ([OrderDate] = ?)">
<SelectParameters>
<asp:ControlParameter ControlID="ASPxDateEdit1" Name="OrderDate" PropertyName="Value"
Type="DateTime" />
</SelectParameters>
</asp:SqlDataSource>
<dx:ASPxDateEdit ID="ASPxDateEdit1" runat="server">
</dx:ASPxDateEdit>
<asp:Button ID="Button1" runat="server" Text="Button" />
我使用Northwind数据库中的Orders表测试了网格。另外,为了测试您的查询,我建议您处理SQLDataSource的Selecting事件并检查e.Command和e.Argumets参数。我希望,这些信息对您有所帮助。