0

DropDownList (「Category」) と GridView (「Items」) を含む単純な ASP.NET/C# ページがあります。それぞれが、それぞれのテーブルから SqlDataSource を介してデータをプルします。"Items" データ ソースには Select ステートメントの ControlParameter があり、ドロップダウンは自動的にポスト バックします。すべて正常に動作します。ドロップダウン リストで項目を選択すると、期待どおりにグリッドビューが自動的に変更されます。

カテゴリに関係なくすべてのアイテムをプルするように、データソースからパラメーターを削除するドロップダウンリストに「すべて表示」アイテムを含めることができる方法 (ASP.NET 内) はありますか? または、それは不可能であり、これの一部をコードビハインドに切り替える必要があります。

4

2 に答える 2

0

依存するCategory:

A) が varchar 型の場合、のを次のCategoryように変更できるはずです。SelectSqlDataSource

... WHERE Category LIKE @Category

あなたDropDownListのアイテムに含める:

<asp:ListItem Text="(Any)" Value="%"></asp:ListItem>

B) が数値型の場合 、「マジック ナンバー」(ワイルドカードを意味するビジネス ルールを介して予約する数値 - どこかに文書化されていることを確認してCategoryください) をチェックするように変更できるはずです。Select

... WHERE Category = @Category OR @Category = -99

あなたDropDownListのアイテムに含める:

<asp:ListItem Text="(Any)" Value="-99"></asp:ListItem>
于 2012-08-02T20:22:25.533 に答える
0

あなたはこのようなことをすることができます

カテゴリが数値 (datavaluefield) の場合は、以下のように実行できます..新しい項目を追加します

<asp:ListItem Text="(Any)" Value="%"></asp:ListItem>

selectステートメントのfilterexpressionで、次のようなものを書く必要があります

Convert(Category,System.String) like '{0}%'

これにより、数値列が文字列型に変更され、フィルター式は正しいパラメーターを渡します

String 型の場合、Convert 関数を使用する必要はありません。

<asp:ListItem Text="(Any)" Value="%"></asp:ListItem>

Category like '{0}%'

これがあなたに役立つかどうか教えてください。

于 2012-08-03T09:49:01.090 に答える