Bagikan melalui


SqlDataSourceView.FilterExpression Properti

Definisi

Mendapatkan atau mengatur ekspresi pemfilteran yang diterapkan saat metode dipanggil Select .

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

Nilai Properti

String yang mewakili ekspresi pemfilteran yang diterapkan saat data diambil menggunakan Select(DataSourceSelectArguments) metode .

Pengecualian

Properti FilterExpression diatur ketika SqlDataSource berada dalam DataReader mode .

Contoh

Contoh kode berikut menunjukkan cara mengambil data dari database Northwind dan memfilternya menggunakan FilterExpression properti dan FilterParameters . Properti FilterExpressionSqlDataSource kontrol diterapkan kapan saja Select metode dijalankan untuk mengambil data. Dalam contoh ini, FilterExpression properti berisi tempat penampung untuk parameter filter, yang terkandung dalam FilterParameters koleksi. Dalam contoh ini, parameter filter adalah ControlParameter objek yang terikat ke SelectedValue properti DropDownList kontrol. DropDownList Karena kontrol memiliki properti yang AutoPostBack diatur ke true, setiap perubahan dalam DropDownList pilihan menyebabkan halaman diposting ke server dan GridView kontrol untuk digabungkan kembali ke kontrol sumber data dengan filter baru.

<!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>

Keterangan

Sintaks yang digunakan untuk FilterExpression properti adalah sintaks gaya string format. Anda dapat menyertakan parameter dalam FilterExpression properti . Jika jenis parameter adalah string atau karakter, sertakan parameter dalam tanda kutip tunggal. Tanda kutip tidak diperlukan, jika parameter adalah jenis numerik.

Koleksi FilterParameters berisi parameter yang dievaluasi untuk tempat penampung yang ditemukan di FilterExpression properti .

Kontrol SqlDataSource mendukung pemfilteran data hanya saat dalam DataSet mode.

Nilai FilterExpression properti disimpan dalam status tampilan.

Penting

Anda harus memvalidasi nilai parameter filter apa pun yang Anda terima dari klien. Runtime hanya mengganti nilai parameter ke dalam ekspresi filter dan menerapkannya ke DataView objek yang dikembalikan oleh Select metode . Jika Anda menggunakan FilterExpression properti sebagai langkah keamanan untuk membatasi jumlah item yang dikembalikan, Anda harus memvalidasi nilai parameter sebelum pemfilteran terjadi.

Berlaku untuk

Lihat juga