2016-05-18 8 views
0

だから、私は「ウィザード」を使用して1つのGridViewコントロールと2つのデータソースを作成している - 私は=確認...私のページの1つのCheckBoxを持っている(GridViewTasks> NewDataSource)一つのGridView、2つのデータソース

を本当の私がしたいです私のGridViewにDataSource1を使用し、チェックされている場合はfalse DataSource2を使用します。

私は私のコードビハインドこのようなものでCheckBox_CheckedChangedイベントを追加しようとしている:

protected void CheckBox_CheckedChanged(object sender, EventArgs e) 
{ 
    if (CheckBox.Checked == true) 
    { 
     gvPredbiljezbe.DataSource = dsGridView1; 
     gvPredbiljezbe.DataBind(); 
    } 

    else 
    { 
     gvPredbiljezbe.DataSource = dsGridView2; 
     gvPredbiljezbe.DataBind(); 

    } 
} 

をしかし、これは動作しません。 提案がありますか?

私は自分のコードビハインドに入り、すべて "手動で"(SqlDataConnection-> DataAdapter-> DataTable-> GridViewDataSource)行うことができますが、GridViewウィザードでDataSourcesを作成し、CheckBoxまたはButtonClickイベントでGridViewのDataSourceが変更されますか?私はこのテクニックを使用するために使用さ

おかげ

ベスト

K

+0

問題が発生していないか、エラーが発生しているか、CheckBoxの変更イベントが全くうまくいかない、またはデータがすべてgridviewに表示されていないなどの問題を指定できますか? –

答えて

0

チェックボックスにAutoPostBack = "true"を設定してください。

protected void CheckBox1_CheckedChanged(object sender, EventArgs e) 
{ 
    CheckBox checkbox = (CheckBox)sender; 

    if (checkbox != null) 
     gvPredbiljezbe.DataSourceID = checkbox.Checked ? dsGridView1.ID : dsGridView2.ID; 
} 
+0

ありがとうuser1111これは魅力のように働いた:)最高のよろしく – TDKZG

0

。 DatasourceIDを割り当てない場合、初期データロードのためにpage_initでそれを設定し、その後、実行します。そのような

protected void CheckBox_CheckedChanged(object sender, EventArgs e) 
{ 
    if (CheckBox.Checked == true) 
    { 
     gvPredbiljezbe.DataSourceID = dsGridView1.ID; 
     gvPredbiljezbe.DataBind(); 
    } 

    else 
    { 
     gvPredbiljezbe.DataSourceID = dsGridView2.ID; 
     gvPredbiljezbe.DataBind(); 

    } 
} 

何かを。少しでも問題がなければ、ClientIDプロパティではなくIDを使用すると思います。

関連する問題