【发布时间】:2012-03-13 15:35:39
【问题描述】:
我有一个 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,当控件出现在第 0 个索引处的第 1 条记录时,在执行 gridview1.DeleteRow(row.rowindex); 第 2 条记录(在第 1 个索引处)填充第 0 个索引,当控件获取 id 时,它只获取第 4 条记录而不是第 3 条记录....我什至尝试使用 list 获取选定的索引并尝试删除使用该列表中的索引的记录也显示了同样的问题,我可以理解控制流程....但我不知道如何解决这个问题....任何人都可以帮助我
【问题讨论】:
标签: gridview