Sdílet prostřednictvím


SqlDataSource.FilterExpression Vlastnost

Definice

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 filtrovací výraz použitý při načítání 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 Select každém spuštění metody k 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 ControlParameter parametr filtru objekt, který je vázán na SelectedValue vlastnost DropDownList ovládacího prvku. DropDownList Protože ovládací prvek má vlastnost AutoPostBack nastavenou na true, jakákoli změna ve výběru DropDownList ovládacího prvku způsobí, že stránka publikuje informace zpět na server a GridView ovládací prvek se znovu přidružuje k ovládacímu prvku zdroje dat pomocí nového filtru.

<!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 výraz řetězce formátu (řetězec, který je zpracován metodou String.Format ), který používá hodnoty v kolekci FilterExpression pro všechny náhradní parametry zahrnuté v řetězci. Syntaxe výrazu filtru je stejná syntaxe, kterou přijímá RowFilter vlastnost, protože výraz filtru se použije na RowFilter vlastnost objektu DataView , která je vrácena 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ězce formátu (například do výrazu, "{0}") který nahradí hodnoty parametrů. Zástupné symboly se nahradí podle indexu parametru v kolekci FilterParameters . Pokud je nullobjekt v kolekci FilterParameters , nahradí se prázdným řetězcem.

Do vlastnosti můžete zahrnout parametry FilterExpression . Pokud je parametr typu řetězec nebo znak, uzavřete parametr do jednoduchých uvozovek. Uvozovky se nevyžadují, pokud je parametr číselný typ. Kolekce FilterParameters obsahuje parametry, které jsou vyhodnoceny pro zástupné symboly, které jsou nalezeny FilterExpression ve vlastnosti.

Ovládací SqlDataSource prvek podporuje filtrování dat pouze v režimu DataSet .

Vlastnost FilterExpression deleguje vlastnost FilterExpression objektu SqlDataSourceView , který je přidružen k ovládacímu SqlDataSource prvku.

Platí pro

Viz také