如何正确过滤绑定到sqldatasource的gridview

发布于 2024-09-24 01:19:15 字数 253 浏览 2 评论 0原文

我正在尝试使用 SQL 中的表填充 ASP.NET 中的(可编辑)网格视图。我为此设置了一个 SQLDataSource。我还需要让这个 gridview 可以根据文本框中输入的参数进行过滤。我已经尝试使用 ControlParameters 来实现此目的,它可以工作,但问题是当所有文本框为空时我希望它在网格视图中显示所有结果。它所做的就是不显示任何内容,因为没有条目具有等于“”的参数。有没有一种我缺少的简单方法可以做到这一点,或者除了 SQLDataSource 之外还有更好的方法吗?

I am trying to populate an (editable) gridview in ASP.NET with a table from SQL. I have a SQLDataSource set up for this. I also need to have this gridview be filterable based on parameters entered in textboxes. I have tried using ControlParameters for this and it works but the problem there is when all textboxes are empty I want it to display all results in the gridview. What it does is display nothing because no entries have parameters that equal "". Is there an easy way to do this that I am missing or is there a better way to go about it other than a SQLDataSource?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

他夏了夏天 2024-10-01 01:19:15

我想我已经成功了。如果其他人想知道这就是我必须做的事情。首先,我需要将 SQLDataSource 中的 select 语句稍微修改一下,从

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

修改为

SELECT * FROM [MyTable] WHERE (@ Param1 为 NULL 或 [ColumnName] = @Param1)。

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

I think I got it working. In case anybody else is wondering here is what I had to do. First I needed to modify my select statement within the SQLDataSource a little bit from

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

to

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

Then I set the parameter for the SQLDataSource: CancelSelectOnNullParameter="False".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文