SqlDataSource.FilterExpression Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví filtrovací výraz, který se použije při Select(DataSourceSelectArguments) zavolání 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
Hodnota vlastnosti
Řetězec, který představuje výraz filtrování použitý při načtení dat pomocí Select(DataSourceSelectArguments) metody.
Výjimky
Vlastnost FilterExpression byla nastavena a SqlDataSource je v DataReader režimu.
Příklady
Následující příklad kódu ukazuje, jak načíst data z databáze Northwind a filtrovat je pomocí FilterExpression řetězce a FilterParameters kolekce. Vlastnost FilterExpression se použije při každém Select spuštění metody pro načtení dat. V tomto příkladu FilterExpression obsahuje zástupný symbol pro parametr filtru, který je obsažen v kolekci FilterParameters . Kromě toho je parametr ControlParameter filtru objekt, který je vázán na SelectedValue vlastnost DropDownList ovládacího prvku. DropDownList Vzhledem k tomu, že má ovládací prvek nastavenou true
vlastnost AutoPostBack , jakákoli změna výběru DropDownList ovládacího prvku způsobí, že stránka zveřejní informace zpět na server a GridView ovládací prvek se znovu propočítá s ovládacím prvek zdroje dat s novým 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>
Poznámky
Hodnota FilterExpression vlastnosti je formátovací řetězcový výraz (řetězec zpracovaný metodou String.Format ), který používá hodnoty v FilterExpression kolekci pro všechny parametry nahrazení zahrnuté v řetězci. Syntaxe výrazu filtru je stejná syntaxe, která je přijata vlastností RowFilter , protože výraz filtru se použije na RowFilter vlastnost objektu DataView , který je vrácen z provádění Select metody. Další informace naleznete v tématu Expression.
Pokud do FilterParameters kolekce přidáte parametry, můžete také zahrnout zástupné symboly řetězců formátu (například "{0}")
ve výrazu pro nahrazení hodnot parametrů. Zástupné symboly se nahradí podle indexu parametru v kolekci FilterParameters . Pokud je null
objekt v kolekciFilterParameters, bude objekt nahrazen prázdným řetězcem.
Do vlastnosti můžete zahrnout parametry FilterExpression . Pokud je parametr řetězec nebo typ znaku, uzavřete parametr do jednoduchých uvozovek. Uvozovky nejsou povinné, pokud je parametr číselným typem. Kolekce FilterParameters obsahuje parametry, které se vyhodnocují pro zástupné symboly nalezené ve FilterExpression vlastnosti.
Ovládací SqlDataSource prvek podporuje filtrování dat pouze v DataSet režimu.
Vlastnost FilterExpression deleguje na FilterExpression vlastnost objektu SqlDataSourceView , který je přidružen k ovládacímu SqlDataSource prvku.