2010-09-21 42 views
2

我想用SQL中的表填充ASP.NET中的(可编辑的)gridview。我有一个为此设置的SQLDataSource。我还需要根据在文本框中输入的参数来过滤此gridview。我曾尝试使用ControlParameters进行此操作,但它的工作原理是当所有文本框都为空时,我希望它在GridView中显示所有结果。它所做的是什么都不显示,因为没有条目的参数等于“”。有没有简单的方法来做到这一点,我失踪了,还是有一个更好的方法去除SQLDataSource吗?如何正确过滤gridview绑定到sqldatasource

回答

1

我觉得我的工作。如果其他人想知道这是我必须做的。首先,我需要修改我的SELECT语句中的SqlDataSource一点点从

SELECT * FROM [MyTable] WHERE ([ColumnName] = @Param1)

SELECT * FROM [MyTable] WHERE (@Param1 IS NULL OR [ColumnName] = @Param1)

然后我设置SQLDataSource的参数:CancelSelectOnNullParameter =“False”。

+1

您还可以在ControlParameters中使用ConvertEmptyStringToNull属性,以便在单个参数为空时将NULL传递给SQL。 – PhilPursglove 2010-09-21 17:13:54