オラクルDBを使用。私の人生では、このグリッドビューを機能させることはできません。理由はわかりませんが、最後の 6 時間の継続的なデバッグの後、頭がおかしくなりました。
私のデータソース設定は次のとおりです。
<asp:sqldatasource runat="server" id="dsSearch"
ConnectionString="<%$ ConnectionStrings:OracleConnection %>"
ProviderName= "<%$ ConnectionStrings:OracleConnection.ProviderName %>"
CancelSelectOnNullParameter="False"
SelectCommand="SELECT d.DVD_ID, d.DVD_TITLE, d.RENTAL_COST, r.RATING_NAME, g.GENRE_DESC, d.COVER_IMAGE FROM DVD d, DVD_GENRE t, GENRE g, RATING r WHERE d.DVD_ID = t.DVD_ID AND t.GENRE_ID = g.GENRE_ID AND d.RATING = r.RATING_ID ORDER BY lower(DVD_TITLE)"
FilterExpression="{1} LIKE '&{0}&'">
<FilterParameters>
<asp:ControlParameter ControlID="searchBox" DefaultValue=" " PropertyName="Text" />
<asp:ControlParameter ControlID="swapList" DefaultValue="DVD_TITLE" PropertyName="SelectedValue" />
</FilterParameters>
</asp:SqlDataSource>
私がやろうとしているのは、「SearchBox」という名前のテキストボックスと「SwapList」のドロップダウンリストから検索機能を作成することです。検索ボックスに入力されたテキストを検索し、選択されたスワップリスト値の列でそれを検索するフィルター式 (検索ロジック) を追加しました。
問題が私の gridview コードにある可能性があることを理解しているので、以下に貼り付けます。
<asp:GridView ID="sGrid" runat="server" DataSourceID="dsSearch"
DataKeyNames="DVD_ID" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="DVD_ID" HeaderText="DVD_ID" ReadOnly="True"
SortExpression="DVD_ID" />
<asp:BoundField DataField="DVD_TITLE" HeaderText="DVD_TITLE"
SortExpression="DVD_TITLE" />
<asp:BoundField DataField="RENTAL_COST" HeaderText="RENTAL_COST"
SortExpression="RENTAL_COST" />
<asp:BoundField DataField="RATING_NAME" HeaderText="RATING_NAME"
SortExpression="RATING_NAME" />
<asp:BoundField DataField="GENRE_DESC" HeaderText="GENRE_DESC"
SortExpression="GENRE_DESC" />
<asp:BoundField DataField="COVER_IMAGE" HeaderText="COVER_IMAGE"
SortExpression="COVER_IMAGE" />
</Columns>
</asp:GridView>