用DataGrid绑定数据表,表中每行都放有CheckBox,如果每行的CheckBox被选中的话(包括多行),该行数据就传入到另外一个网页,具体怎么实现?

解决方案 »

  1.   

    用这个试试private void DGDriver_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    string ID="";
    ID = e.Item.Cells[0].Text;
    bool bl = Convert.ToBoolean(e.Item.Cells[2].Text);
    if(e.CommandName =="Delete")
    {
    //...;
    }
    if(e.CommandName =="Edit")
    {
    if(bl)
    Response.Redirect("Ofc_DriverEdit.aspx?DriverID="+ID);
    }

    }
      

  2.   

    不好意思,没仔细看试试在Session对象中添加相应的多行记录,然后刷新要传入的另外一个网页,在另一个网页中从
    Session中获取数据
      

  3.   

    我遇到这种问题的解决方式是:在第一个页面记录能唯一标识某条记录的主键值,当作一个字符串传到新页,在新页通过主键值,重新读取数据,这种方式可以解决,但毕竟要两次操作数据库,好像不是最好的方法。
    用session传也可以解决,但session的安全性需要考虑
      

  4.   

    顺便问一下,怎么在每行的第一列动态生成一个CheckBox呢?
      

  5.   

    可以使用模板列实现[放CheckBox控件]
    ====================================================================================
    顺便问一下,怎么在每行的第一列动态生成一个CheckBox呢?
      

  6.   

    //*****将选种的值,放入一个隐藏控中
    //*****代码如下
    private void SelectValue()
    {
       HtmlInputCheckBox ckb=null;   string strTemp="";   foreach(DataGridItem Items in DGRid.Items)
       {
            ckb=(HtmlInputCheckedBox)Items.findcontrol("ckball");
            if(ckb.checked==true)
            {
              strTemp+=ckb.value +",";
            }
       }   //****删除最后一个",";
       string NewString="";
       NewString=strTemp.substring(0,strTemp.lenght-1);
       
       //*****将选择的值传入另一个页面,同时显示选相应的数据
     
       Response.Redirect("webtwo.aspx?ID="+NewString);}//****在另一个页面用SQL,IN来实现
      

  7.   

    楼上的,“ckball”从哪来的?