2016-05-16 18 views
0

データセットのドロップダウンリストにデータセットがあり、データセットの背後にあるクエリには2つのカスケードパラメータが使用されています。2つのカスケードパラメータを持つデータセット

基本的には次のようになります。

choose an engine: [drop down list]  //defaults to 0 
choose a transmission: [drop down list] //defaults to 0 
list of choices: [drop down list] 

2つのカスケードパラメータの両方が、ユーザーはそれらのパラメータを使用したくない場合にはゼロのデフォルト値があります。

デフォルト値では、自動的に実行される「選択リスト」ドロップダウンリストのデータセットクエリが許可されていませんか?

他に何かする必要がありますか?

おかげ

答えて

1

は、私は完全に質問を理解していないが、私は、各データセットは、ブランクがすべての結果を与えるパラメータを取る必要があると言うでしょう。

これは、おそらくif @Param = "" SELECT * FROM tab ELSE SELECT * FROM tab WHERE col = @Paramタイプのスクリプトを使用して、必要な結果を照会するSQLスクリプトで実現します。これにより、各パラメーターブランクを順番に塗りつぶして、最終的なパラメーターにつなげることができます。

残念ながら、2番目のパラメータは最初のものに依存します(場合によってはそれだけでも)、次のパラメータに進む前に空白の値を入力する必要があります。しかし、2番目のパラメータを設定するときに上記のようなものを使用している場合、2番目のパラメータをすべて選択するとデフォルトですべてが選択されます。

1

正しく理解すると、 0list of choicesデータセットに存在しません。データセットの背後にあるクエリがWHERE engine IN (@engine) AND transmission IN (@Transmission)の場合、デフォルト値0を使用すると何も返されないことがあります。代わりにすべての行を返す場合は、クエリを次のように変更してみてください。

WHERE (@engine = 0 OR engine IN (@engine)) 
AND (@transmission = 0 OR transmission IN (@transmission)) 
関連する問題