你把绑定dgResult的那个ds清空不就行啦, 不过想问一下,你如何得到哪个记录被选中,通过checkbox的哪个事件?

解决方案 »

  1.   

    把数据绑定的放在Page_Load的,即每次加载即重新绑定..
      

  2.   

    我是在Page_Load中:
    if(Session["FindResultDataGrid"]==null)
    {
       Result = new DataTable();
       Result.Columns.Add(new DataColumn("列名1", typeof(string)));
       Result.Columns.Add(new DataColumn("列名2", typeof(string)));
       Result.Columns.Add(new DataColumn("列名3", typeof(string)));
       Result.Columns.Add(new DataColumn("列名4",typeof(string)));
       Result.Columns.Add(new DataColumn("列名5",typeof(string)));
       Session["FindResultDataGrid"]=Result;
    }
    else
    {
       Result=(DataTable)Session["FindResultDataGrid"];
    }
    ResultView = new DataView(Result);
    dgResult.DataSource = ResultView;
    dgResult.DataBind();
      

  3.   

    DataTable Result;
    DataView ResultView;
    我绑定的是DataView,而DataView没有Clear呀!
      

  4.   

    你的数据源result已经改变了,
    所以绑定的是COLUMNS。ADD以后的DATATABLE
    用一个临时datatable储存原来的result就可以了
      

  5.   

    怎么这么少人顶呀!
    我还想问:当我点击一个“返回主窗体”按钮后,再次进入有DataGrid的窗体时,如何去掉CheckBox得选中状态?
    谢谢,拜托
      

  6.   

    还是在PageLoad里加上:
    for(int i=0;i<dgGrid.Items.Count;i++)
    {
     CheckBox cb = (CheckBox)dgGrid.Items[i].FindControl("CheckBox's ID");
     cb.Checked = false;
    }
      

  7.   

    for(int i=0;i<dgGrid.Items.Count;i++)
    {
     CheckBox cb = (CheckBox)dgGrid.Items[i].FindControl("CheckBox's ID");
     cb.Checked = false;
    }
      

  8.   

    原本想揭帖了:才注意到nyh800201002(牛)的问题,真不好意思
    我在这里简单说一下吧:首先用ItemCreate事件定制CheckBox控件的CheckChanged事件
    然后在CheckChanged事件中,通过
    CheckBox  cb  =  (CheckBox)dgGrid.Items[i].FindControl(  "CheckBox's  ID  ");  
    找到Checkbox控件,判断cb的Checked属性即可!
      

  9.   

    谢谢大家的帮组,问题解决了,但我用的方法是Response.Redirect();
    但还是要衷心谢谢大家!