我的页面在第一次载入时候,从数据库中读出数据并显示在动态生成的表格里。每条数据的前面都有一个checkbox,用户可以选择要删除的。但是选择了几条数据,要点击删除按钮两次才会刷新数据。
请高手帮忙!
注:在点击删除按钮后,把内存中的数据重新显示在页面上。删除操作也是在内存中进行的

解决方案 »

  1.   

    删除时是在内存中删除,不涉及到数据库。代码如下:int rowcount = Table3.Rows.Count;
    System.Web.UI.WebControls.CheckBox choosedbox = new System.Web.UI.WebControls.CheckBox();
    for(int i=1;i<rowcount;i++)//从第二行开始
      {
    choosedbox = (System.Web.UI.WebControls.CheckBox)Table3.Rows[i].Cells[0].Controls[0];
    if(choosedbox.Checked)//如果复选框checked
       for(int j=0;j<length;j++)
          if(applylist[j].Code==choosedbox.ID)//找到被删除的
    {
    for(int k=j;k<length-1;k++)//删除选中的明细
    {
              applylist[k]=applylist[k+1]; //直接把后面的数据前移  
    }
        length=length-1;//发货单明细、产品信息明细数组长度-1
        break;
      }
    }
    applylist是一个结构体数组。
    length记录了有用数据的长度,重新显示数据的时候我把length长的数据显示出来。
      

  2.   

    是不是这样的原因,
    第一次点击,由于你的Table是动态设计的,所以PageLoad中会加载一次原来的数据,所以不会刷新。
    当你点击过一次删除按钮以后,数据源才发生了变化。所以要点击两次,
    是不是在使用过一次以后就把数据源applylist清空。
      

  3.   

    我问题已经解决了!Thank you very much!