SqlDataSource.FilterExpression Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar eller anger ett filtreringsuttryck som används när Select(DataSourceSelectArguments) metoden anropas.
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
Egenskapsvärde
En sträng som representerar ett filtreringsuttryck som används när data hämtas med metoden Select(DataSourceSelectArguments) .
Undantag
Egenskapen FilterExpression har angetts och SqlDataSource är i DataReader läge.
Exempel
Följande kodexempel visar hur du hämtar data från Northwind-databasen och filtrerar dem med hjälp av en FilterExpression sträng och FilterParameters samlingen. Egenskapen FilterExpression tillämpas varje gång Select metoden körs för att hämta data. I det här exemplet FilterExpression innehåller innehåller en platshållare för en filterparameter, som finns i FilterParameters samlingen. Dessutom är filterparametern ett ControlParameter objekt som är bundet SelectedValue till kontrollens DropDownList egenskap.
DropDownList Eftersom kontrollen har dess AutoPostBack egenskap inställd truepå , gör alla ändringar i kontrollens DropDownList val att sidan publicerar information tillbaka till servern och GridView kontrollen att binda om till datakällkontrollen med det nya filtret.
<!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>
Kommentarer
Egenskapsvärdet FilterExpression är ett formatsträngsuttryck (en sträng som bearbetas av String.Format metoden) som använder värdena i FilterExpression samlingen för eventuella ersättningsparametrar som ingår i strängen. Syntaxen för filteruttrycket är samma syntax som accepteras av RowFilter egenskapen eftersom filteruttrycket tillämpas på egenskapen RowFilter för DataView det objekt som returneras från att Select köra metoden. Mer information finns i Expression.
Om du lägger till parametrar i FilterParameters samlingen kan du även inkludera platshållare för formatsträngar (till exempel "{0}") i uttrycket för att ersätta parametervärden. Platshållarna ersätts enligt indexet för parametern i FilterParameters samlingen. Om ett objekt i FilterParameters samlingen är nullersätts objektet av en tom sträng.
Du kan inkludera parametrar i egenskapen FilterExpression . Om parametern är en sträng eller teckentyp omger du parametern inom enkla citattecken. Citattecken krävs inte om parametern är en numerisk typ. Samlingen FilterParameters innehåller de parametrar som utvärderas för de platshållare som finns i egenskapen FilterExpression .
Kontrollen SqlDataSource stöder endast filtrering av data i DataSet läget.
Egenskapen FilterExpression delegerar till FilterExpression egenskapen för objektet SqlDataSourceView som är associerat med SqlDataSource kontrollen.