2017-07-14 84 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。這樣做將插入控件與其他一些控件分開,並且在此之後一切正常。