2010-09-21 2 views
2

Я пытаюсь заполнить (редактируемое) gridview в ASP.NET таблицей из SQL. У меня есть SQLDataSource, настроенный для этого. Мне также необходимо, чтобы это gridview можно было фильтровать на основе параметров, введенных в текстовые поля. Я попытался использовать ControlParameters для этого, и он работает, но проблема в том, что все текстовые поля пусты. Я хочу, чтобы он отображал все результаты в gridview. То, что он делает, ничего не отображает, потому что никакие записи не имеют параметров, которые равны «». Есть ли простой способ сделать это, что мне не хватает, или есть лучший способ сделать это, кроме SQLDataSource?Как правильно фильтровать gridview привязаны к sqldatasource

ответ

1

Думаю, у меня это работает. В случае, если кто-то еще задается вопросом, вот что я должен был сделать. Сначала мне нужно изменить мой отборное заявление в SqlDataSource немного от

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

в

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

Затем я установил параметр для SQLDataSource: CancelSelectOnNullParameter = "False".

+1

Вы также можете использовать атрибут ConvertEmptyStringToNull в своих ControlParameters, чтобы он пропускал NULL до SQL, когда отдельный параметр пуст. – PhilPursglove

Смежные вопросы