SqlDataSource.FilterExpression Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wyrażenie filtrowania, które jest stosowane po wywołaniu Select(DataSourceSelectArguments) metody.
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
Wartość właściwości
Ciąg reprezentujący wyrażenie filtrowania stosowane podczas pobierania danych przy użyciu Select(DataSourceSelectArguments) metody .
Wyjątki
Właściwość została ustawiona FilterExpression , a SqlDataSource właściwość jest w DataReader trybie.
Przykłady
Poniższy przykład kodu przedstawia sposób pobierania danych z bazy danych Northwind i filtrowania FilterParameters ich przy użyciu FilterExpression ciągu i kolekcji. Właściwość FilterExpression jest stosowana za każdym razem, Select gdy metoda jest wykonywana w celu pobrania danych. W tym przykładzie element FilterExpression zawiera symbol zastępczy parametru filtru, który znajduje się w kolekcji FilterParameters . Ponadto parametr filtru jest obiektem powiązanym ControlParameter z właściwością SelectedValue kontrolki DropDownList . Ponieważ kontrolka DropDownList ma AutoPostBack ustawioną true
właściwość na , każda zmiana w zaznaczeniu DropDownList kontrolki powoduje, że strona opublikuje informacje z powrotem na serwerze, a GridView kontrolka ponownie połączyć kontrolkę źródła danych z nowym filtrem.
<!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>
Uwagi
Wartość FilterExpression właściwości to wyrażenie ciągu formatu (ciąg przetwarzany przez String.Format metodę), które używa wartości w FilterExpression kolekcji dla wszystkich parametrów podstawienia zawartych w ciągu. Składnia wyrażenia filtru jest tą samą składnią, która jest akceptowana przez RowFilter właściwość, ponieważ wyrażenie filtru jest stosowane do RowFilter właściwości DataView obiektu zwracanego z wykonywania Select metody. Aby uzyskać więcej informacji, zobacz Expression.
Jeśli dodasz parametry do FilterParameters kolekcji, możesz również uwzględnić symbole zastępcze ciągu formatu (na przykład "{0}")
w wyrażeniu, aby zastąpić wartości parametrów. Symbole zastępcze są zastępowane zgodnie z indeksem parametru w kolekcji FilterParameters . Jeśli obiekt w kolekcji FilterParameters to null
, obiekt zostanie zastąpiony pustym ciągiem.
Parametry można uwzględnić we FilterExpression właściwości . Jeśli parametr jest ciągiem lub typem znaku, należy ująć parametr w pojedynczy cudzysłów. Znaki cudzysłowu nie są wymagane, jeśli parametr jest typem liczbowym. Kolekcja FilterParameters zawiera parametry, które są oceniane dla symboli zastępczych znalezionych we FilterExpression właściwości.
Kontrolka SqlDataSource obsługuje filtrowanie danych tylko wtedy, gdy jest w trybie DataSet .
Właściwość FilterExpression deleguje do FilterExpression właściwości obiektu skojarzonego SqlDataSourceView z kontrolką SqlDataSource .