簡體   English   中英

ASP.net - 過濾 Gridview 的文本框輸入

[英]ASP.net - TextBox input to filter Gridview

我有一個 GridView 與來自 SQL Server 的數據相結合。

我希望 GridView 通過僅選擇電影的第一個字母來顯示所有電影和客戶姓名和姓氏。 用戶將在 TextBox 中輸入第一個字母。

我認為<asp:ControlParameter可以在這里使用,但我不知道如何使用。

這是它的設計:

在此處輸入圖片說明

搜索論壇,我找到了類似這樣的解決方案,但它給了我一個錯誤 - System.NullReferenceException

    protected void Button1_Click(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(TextBox1.Text))
    {
        (GridView1.DataSource as DataTable).DefaultView.RowFilter = string.Format("FirstName LIKE '{0}%'", TextBox1.Text);
    }
}

在此處輸入圖片說明

會很高興得到一些線索,

先感謝您!

我找到了解決方案 - 如何使用<asp:ControlParameter

<asp:SqlDataSource ID="SqlDataSource_Movie" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString2 %>" SelectCommand="(long generated code, than)--> WHERE (MovieName LIKE @Text + '%') ORDER BY FirstName ASC">
        <SelectParameters>    <asp:ControlParameter  ControlID="TextBox1" Name="Text"/>   </SelectParameters>
        </asp:SqlDataSource>

現在我可以輸入電影的第一個字母,它將過濾 GridView 以顯示所有以該字母開頭的租借電影的用戶。

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM