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 объектом, привязанным к свойству SelectedValue DropDownList элемента управления. DropDownList Так как для элемента управления задано true
его AutoPostBack свойство, любое изменение в выборе 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 , так как выражение фильтра применяется к RowFilter свойству DataView объекта, возвращаемого при выполнении Select метода. Для получения дополнительной информации см. Expression.
При добавлении параметров в коллекцию FilterParameters можно также включить заполнители строк формата (например, "{0}")
в выражение для замены значений параметров. Заполнители заменяются в соответствии с индексом параметра в FilterParameters коллекции. Если объект в FilterParameters коллекции имеет значение null
, объект будет заменен пустой строкой.
Параметры можно включить в FilterExpression свойство. Если параметр является строковым или символьным типом, заключите параметр в одинарные кавычки. Кавычки не являются обязательными, если параметр является числовым типом. Коллекция FilterParameters содержит параметры, вычисляемые для заполнителей, найденных в свойстве FilterExpression .
Элемент SqlDataSource управления поддерживает фильтрацию данных только в режиме DataSet .
Свойство FilterExpression делегирует свойству FilterExpression объекта, связанного SqlDataSourceView с элементом SqlDataSource управления.