0

GridView(前述のSQLデータソースにバインドされている)がレンダリングされた後、SQLデータソースのSELECTパラメーターをクリアするにはどうすればよいですか?

編集:

SQLデータソースによって選択されたデータがGridViewに表示された後、SQLデータソースのSELECTパラメーターをクリアしたいのですが、GridViewDataBoundおよびSQLDataSourceSelected イベントに関連付けられた関数のパラメーターをクリアすると結果が発生します「スカラー変数を宣言する必要があります」エラーで、SELECTクエリの実行時にパラメータが定義されていなかったことを示しています。SELECTパラメータをクリアする適切な時期はいつですか?

次のコードについて考えてみます。「Selected」は、selectコマンドの完了後に発生するSQL DataSourceSelectedイベントに関連付けられています。これにより、「スカラー変数を宣言する必要があります」というエラーが発生します。

static bool clearParams;

 protected void Selected(object sender, EventArgs e) {
            if (clearParams)
            {                
                SqlDataSource1.SelectParameters.Clear();                
                clearParams = false;
            }
        }

 protected void Button_Click(object sender, EventArgs e){

        SqlDataSource1.SelectCommand = [a dynamically generated select command];
        SqlDataSource1.SelectParameters.Add([various params are added]);

        clearParams = true; // clear params after this select command
        SqlDataSource1.Select(new DataSourceSelectArguments());

  } 
4

1 に答える 1

0

GridView には、データがバインドされた後に 1 回実行されるDataBoundイベントがあり、 RowDataBoundイベントは個々の行ごとに実行されます。したがって、DataBound イベントを処理でき、t で十分です

于 2012-04-09T06:25:19.487 に答える