问题描述
我希望GridView通过仅选择电影的首字母来显示所有电影以及客户名称和姓氏。用户将在文本框中输入第一个字母。
我认为<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>
现在我可以输入Movie的第一个字母,它将过滤GridView以显示以该字母开头的所有租借电影的用户。
谢谢