2017-07-14 61 views
0

我有一个FilterExpression在我的SQLDataSource设置,以便我可以在文本框中输入查询,相关信息显示在GridView。就此而言,我的代码正在工作。SQLDataSource FilterExpression不显示默认结果

我遇到的问题是在搜索之前没有任何信息显示。换句话说,当页面首次出现时,除了搜索功能外,它是空白的。我希望页面首先显示所有内容,然后在搜索完成后进行过滤。

它在我看来像我的代码是相同的代码,我在网上找到,但 有一些神秘的原因,它不显示给我。

这是我的代码现在:

<asp:SqlDataSource ID="ABC" runat="server" DataSourceMode="DataSet" EnableCaching="true" ConnectionString="<%$ ConnectionStrings:ABCConnectionString %>" 
SelectCommand="SELECT * FROM [myDatabase]" 
UpdateCommand="UPDATE [myDatabase] SET [xData] = @xData, [yData] = @yData, [zData] = @zData WHERE [myID] = @myID" 
DeleteCommand="DELETE FROM [myDatabase] WHERE [myID] = @myId" 
InsertCommand="INSERT INTO [myDatabase] ([xData], [yData], [zData]) VALUES (@xData, @yData, @zData)" 
FilterExpression="xData LIKE '{0}%' "> 
<FilterParameters> 
    <asp:ControlParameter Name="xData" ControlID="searchRecord" PropertyName="Text" DefaultValue="%"/> 
</FilterParameters> 

然后我GridView上面我有TextBoxButton

<asp:Button ID="searchButton" runat="server" Text="Search" /> 
<asp:TextBox ID="searchRecord" runat="server" Text="Search by store number"></asp:TextBox> 
+0

此问题仍未解决。我试图使FilterExpression成为OnClick事件,但FilterExpression不能用作OnClick事件。有什么建议么?我已经在互联网上搜索了一个解决方案,除了已有的东西外,我找不到任何东西,这是行不通的。 – Sherlock

回答

0

我已经通过将过滤器的按钮onclick解决问题并分别对验证控件进行分组。不知何故,验证控件 交叉点火,这阻止了显示。

我将ControlToValidate="xyz"添加到对应于一组控件(在我的情况下,用于插入新行的控件)的所有CompareValidators。这样做将插入控件与其他一些控件分开,并且在此之后一切正常。