1

別のドロップダウン リストで選択した値に基づいて入力されるドロップダウン リストがあります。メインのドロップダウン リストは dlJobName です。すべてのアクティブなジョブのリストが含まれています。2 番目のドロップダウン リストは dlStage です。これには、JobName に関連する個別のステージ値が含まれます。dlStage ドロップダウン リストに入力するクエリを次に示します。

SELECT DISTINCT [AnnotationDate] as Annotation_Date FROM [vw_GridviewSource] WHERE ([Name] = @Name)

このコードでは、AnnotationDate は日付フィールドではなく、テキスト フィールドです。@Name は、dlJobName リストから選択された値に等しい変数です。

これが私のジレンマです。dlJobName の selected_index_change イベントを作成する場合、これらの両方のドロップダウン リストを使用するグリッドビューを更新する前に、dlStage を使用可能な値のみに更新する必要があります。発生しているのは、dlStage リストが更新されておらず、ドロップダウン リストの値が新しい JobName に使用できないことです。選択したインデックス変更イベントと組み合わせて、dlStage ドロップダウン リストでクエリを強制的に実行する方法はありますか? これにより、グリッドビューが少なくとも入力され、エラーが発生しなくなります。

必要な追加コードは何でも提供できます。

4

3 に答える 3

0

プロパティ
dlJobName.AutoPostBack="true" を設定します。
これにより、メイン ドロップダウンの選択されたインデックスが変更されたときに SelectedIndexEvent が発生します。
その selectedIndexChanged イベントで、2 番目の DropdownList をロードします。以下に例を示します。
http://asp-net-example.blogspot.in/2009/03/how-to-use-dropdownlist-autopostback.html
問題が解決することを願っています。問題が解決しない場合は、スニペットを貼り付けてください。

于 2013-11-12T15:55:17.243 に答える
0

ドロップダウンリストの AutoPostBack="true" を設定していないと思います。問題が解決しない場合は、適切なヘルプのために HTML と cs コードを入力してください。

于 2013-11-12T15:37:57.373 に答える
0

こんにちは、他のユーザーのコメントのように、ドロップダウン リストからプロパティに移動し、AutoPostBack を検索して False を True に変更する必要があります。ドロップダウンリストの最初にきれいにすることを忘れないでください

DropDownList.Items.Clear() (VB.NET)DropDownList.Items.Clear(); (C#)

ドロップダウンリストをクリーンアップした後、ドロップダウンリストをバインドする方法を再度請求します

于 2013-11-12T15:45:08.830 に答える