-3

次の例を理解するのに苦労しています。( http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.sqldatasource.filterexpression.aspx )

目的: データグリッド フィルタリングの編集に使用する 2 つのドロップダウン/テキスト ボックスを用意します。

=title の後に ,FirstName='{1}'" と ,FirstName='{0}'" を追加しようとしましたが、うまくいかないようです。もちろん、FirstName にも制御パラメーターを追加しました。

以下のコードは、最初に私のバージョンで、次にオリジナルです。

マイコード

    <!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">A</asp:ListItem>
                        <asp:ListItem>B</asp:ListItem>
                        <asp:ListItem>C</asp:ListItem>
                    </asp:DropDownList></p>

 <asp:DropDownList
                        id="DropDownList2"
                        runat="server"
                        AutoPostBack="True">
                        <asp:ListItem Selected="True">X</asp:ListItem>
                        <asp:ListItem>Y</asp:ListItem>
                        <asp:ListItem>Z</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}' or "FirstName='{1}'">
                        <FilterParameters>
                            <asp:ControlParameter Name="Title" ControlId="DropDownList1" PropertyName="SelectedValue"/>
 <asp:ControlParameter Name="FirstName" 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>
4

1 に答える 1

0

元々、検索クエリを区切るカンマがありました。私は実際に「または」を置く必要がありました。

元の投稿の完全なコード (正しいように編集) と以下のサンプル コードを参照してください。

 <asp:SqlDataSource
                        id="SqlDataSource1"
                        runat="server"
                        ConnectionString="<%$ ConnectionStrings:MyNorthwind%>"
                        SelectCommand="SELECT EmployeeID,FirstName,LastName,Title FROM Employees"
                        FilterExpression="Title='{0}' or "FirstName='{1}'">
于 2013-08-27T13:21:49.310 に答える