SqlDataSource.FilterExpression Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает выражение фильтра для применения при вызове метода Select(DataSourceSelectArguments).
public:
property System::String ^ FilterExpression { System::String ^ get(); void set(System::String ^ value); };
public string FilterExpression { get; set; }
member this.FilterExpression : string with get, set
Public Property FilterExpression As String
Значение свойства
Строка, которая представляет выражение фильтрации, применяемое при получении данных с помощью метода Select(DataSourceSelectArguments).
Исключения
Установлено свойство FilterExpression; SqlDataSource используется в режиме DataReader.
Примеры
В следующем примере кода показано, как получить данные из базы данных Northwind и отфильтровать их с помощью FilterExpression строки и FilterParameters коллекции. Свойство FilterExpression применяется каждый раз, Select когда метод выполняется для получения данных. В этом примере FilterExpression содержит заполнитель для параметра фильтра, который содержится в FilterParameters коллекции . Кроме того, параметр фильтра является объектом, привязанным ControlParameter к свойству SelectedValueDropDownList элемента управления .
DropDownList Поскольку свойство элемента управления имеет AutoPostBack значение true
, любое изменение в выборе элемента DropDownList управления приводит к тому, что страница будет отправлять сведения обратно на сервер, а GridView элемент управления повторно привязывался к элементу управления источником данных с помощью нового фильтра.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p>Show all employees with the following title:
<asp:DropDownList
id="DropDownList1"
runat="server"
AutoPostBack="True">
<asp:ListItem Selected="True">Sales Representative</asp:ListItem>
<asp:ListItem>Sales Manager</asp:ListItem>
<asp:ListItem>Vice President, Sales</asp:ListItem>
</asp:DropDownList></p>
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
FilterExpression="Title='{0}'">
<FilterParameters>
<asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</FilterParameters>
</asp:SqlDataSource>
<p><asp:GridView
id="GridView1"
runat="server"
DataSourceID="SqlDataSource1"
AutoGenerateColumns="False">
<columns>
<asp:BoundField Visible="False" DataField="EmployeeID" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
</columns>
</asp:GridView></p>
</form>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<p>Show all employees with the following title:
<asp:DropDownList
id="DropDownList1"
runat="server"
AutoPostBack="True">
<asp:ListItem Selected="True">Sales Representative</asp:ListItem>
<asp:ListItem>Sales Manager</asp:ListItem>
<asp:ListItem>Vice President, Sales</asp:ListItem>
</asp:DropDownList></p>
<asp:SqlDataSource
id="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
FilterExpression="Title='{0}'">
<FilterParameters>
<asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
</FilterParameters>
</asp:SqlDataSource>
<p><asp:GridView
id="GridView1"
runat="server"
DataSourceID="SqlDataSource1"
AutoGenerateColumns="False">
<columns>
<asp:BoundField Visible="False" DataField="EmployeeID" />
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:BoundField HeaderText="Last Name" DataField="LastName" />
</columns>
</asp:GridView></p>
</form>
</body>
</html>
Комментарии
Значение FilterExpression свойства — это строковое выражение формата (строка, обрабатываемая методом String.Format ), которое использует значения из FilterExpression коллекции для любых параметров подстановки, включенных в строку. Синтаксис выражения фильтра является тем же синтаксисом, который принимается свойством RowFilter , так как выражение фильтра применяется к свойству RowFilterDataView объекта, возвращаемого при выполнении Select метода . Для получения дополнительной информации см. Expression.
При добавлении параметров в коллекцию FilterParameters можно также включить заполнители строки формата (например, "{0}")
в выражение для замены значений параметров). Заполнители заменяются в соответствии с индексом параметра в FilterParameters коллекции. Если объект в FilterParameters коллекции имеет значение null
, объект будет заменен пустой строкой.
В свойство можно включить параметры FilterExpression . Если параметр имеет строковый или символьный тип, заключите параметр в одинарные кавычки. Кавычки не требуются, если параметр является числовым типом. Коллекция FilterParameters содержит параметры, вычисляемые для заполнителей, которые находятся в свойстве FilterExpression .
Элемент SqlDataSource управления поддерживает фильтрацию данных только в режиме DataSet .
Свойство FilterExpression делегируется свойству FilterExpression объекта , связанного SqlDataSourceView с элементом SqlDataSource управления .