在PageIndexChanged事件中,先保存选中的项的Index,放在ViewState里面,然后在DataGrid的ItemDataBound里,读取这个ViewState,处理当前行的CheckBox

解决方案 »

  1.   

    怎样在PageIndexChanged事件中保存选中的项的Index,放在ViewState里面
    你能给我代码吗?谢谢!急!
      

  2.   

    在PageIndexChanged中:
    Hashtable table = new Hashtable();
    for (int i = 0; i < DataGrid1.Items.Count; i++)
    {
     CheckBox chk = (CheckBox)DataGrid1.Items[i].FindControl("chk");
     table.Add(i, chk.Checked);
    }
    ViewState["CheckBox"] = table;在ItemDataBound中:
    if (e.Item.ItemIndex >= 0 && ViewState["CheckBox"] != null)
    {
     Hashtable table = (Hashtable)ViewState["CheckBox"];
     CheckBox chk = e.Item.FindControl("chk");
     chk.Checked = bool.Parse(table[i].ToString());
    }
      

  3.   

    上面这段代码很容易转换成VB.NET呀。
      

  4.   

    ???icyer好累啊,从高到低,都要教啊!sammend(梅) :改成vs.net多容易啊!