Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在gridview中填充记录_Gridview - Fatal编程技术网

在gridview中填充记录

在gridview中填充记录,gridview,Gridview,我有一个gridview并从列表中绑定其中的记录。我需要从列表中删除多行 int deleled=0; foreach(gridviewrow row in gridview1.rows) { checkbox chkSelectedItem=(checkbox)row.findcontrol("chkSelectedItem"); if(chkSelectedItem.checked) { int id=(int)gridview1.DataKeys[row.Ro

我有一个gridview并从列表中绑定其中的记录。我需要从列表中删除多行

int deleled=0;
foreach(gridviewrow row in gridview1.rows)
{
   checkbox chkSelectedItem=(checkbox)row.findcontrol("chkSelectedItem");
   if(chkSelectedItem.checked)
   {
      int id=(int)gridview1.DataKeys[row.RowIndex].Values["Id"];
      Person person=new Person();
      person.Id=id;

      deleted+=person.Delete(user);

      gridview1.DeleteRow(row.rowindex);
    }
}

gridview1.datasource=persons;
gridview1.databind();
在这里,我有一个单独的类用于删除用户…这很好,我需要删除数据库中选定的记录以及gridview,我必须在gridview中显示其他记录…问题是我在Persons表中有许多用户的记录,我需要在gridview中显示特定的人员详细信息

删除记录工作正常,这方面没有问题,但当我在gridview中删除行时,它会跳过索引…例如,如果在总共10条记录中选择记录1,3,5,7,9,则在执行 gridview1.DeleteRow(row.rowindex);
第二条记录(在第一个索引处)填充第0个索引,当控件获取id时,它只获取第四条记录,而不是第三条记录……我甚至尝试使用列表获取所选索引,并尝试使用列表中的索引删除记录,这也显示出同样的问题,我可以理解控制流程……但我不知道如何解决这个问题……有人能帮我解决吗

如果您的人员列表不是很大,一种方法是首先解除GridView数据源的绑定,从人员列表中删除人员,不要自己删除GridView的行,然后将该列表绑定到其数据源。

感谢编码器的帮助,我尝试在一个列表中收集索引,并以相反的顺序在一个单独的循环中执行该列表,工作正常,感谢您的响应