protected void DataList1_EditCommand(object source, DataListCommandEventArgs e)
    {
            string str = "";            string scrstr=pid.Text.Trim()+",";     
              str=((Label)this.DataList1.Items[e.Item.ItemIndex].FindControl("Pid")).Text;
              LinkButton lb = ((LinkButton)this.DataList1.Items[e.Item.ItemIndex].FindControl("Edit"));
        
              for (int i = 0; this.DataList1.Items.Count; i++)
              { 
               接下来就不知道怎样写了
              
              }
}我的思路是想用循环来判断要移除的是哪一项,还有datalist里怎么没有remove方法呀??

解决方案 »

  1.   

    接下来就不知道怎样写了这个部分要重新绑定datalist,绑定的时候取出数据以后,放入一个datatable中,然后
    移除这个表中要移除的那一列,重新绑定到datalist
      

  2.   

    哪來代碼啊
    你自己綁定datalist應該有數據源吧,不是dataset就是datatable啦
    你先處理它,再重新綁定數據源
      

  3.   

    要看你是想连数据库中的数据一起删,还是只dataTable删数据源显示!
    如果是连数据库一起删那就象你那样写没错,加上主键
    string id=this.DataList1.Datakeys[e.Item.ItemIndex].toString();
    然后将是将获得的每行数据执行SQL语句了
    如果是只删datatable
    dataTable dt=....你的数据源
    dataRow drs=dt.select(你的条件);   ..例如name='张三',这个方法会返回一个Datarow数组
    然后循环删除
    Foreach(datarow dr in drs)
    {
        dt.remove(dr);
    }
      

  4.   

                DataTable dt = //你从数据库中获取的table
                dt.Rows.RemoveAt(e.Item.ItemIndex);//从数据中移除当前选择的行
                  DataList1//重新绑定
      

  5.   

    dt.Rows.RemoveAt(e.Item.ItemIndex);
                      DataList1.DataSource = dt;
                      DataList1.DataBind();这样做是没有问题但是我要是不按顺序点linkbutton删除就会出错啊,说e.item.itemindex找不到指定的行索引