SqlDataSource.FilterExpression Właściwość

Definicja

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

String

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 ustawioną trueAutoPostBack właściwość na , każda zmiana w zaznaczeniu DropDownList kontrolki powoduje, że strona publikuje informacje z powrotem na serwerze i kontrolkęGridView, aby 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 .

Dotyczy

Zobacz też