”不能通过已经删除的行访问该行信息“

doudoushen 2008-05-13 03:20:30
这是个组权限设置窗口(左边gridcontrol每一行显示组的名称,右边GroupBox里面有很多checkbox每一个checkbox代表一个权限,如果有这个权限checkbox打钩) 另外 窗口里面有“添加一个组” ”删除一个组“ “更新数据库”按钮
要求:
当点击某一个组的时候,右边GroupBox显示相应的权限
选中某个组的时候 按”删除一个组“ 就删除这组,gridcontrol就删除这组

假设现为

组 权限
aaa 写,读,保存
bbb 写,读
ccc 写

我现在遇到问题是:如果删除了一组,右边的显示权限就不对了
比如删除aaa,此时bbb就为第一行(即焦点行),即view.FocusedRowHandle为0,以下代码就会报”不能通过已经删除的行访问该行信息“

checkEdit1.Checked = stringtobool(m_ds.Tables["GroupPurview"].Rows[view.FocusedRowHandle]["写"]);
checkEdit2.Checked = stringtobool(m_ds.Tables["GroupPurview"].Rows[view.FocusedRowHandle]["读"]);
checkEdit3.Checked = stringtobool(m_ds.Tables["GroupPurview"].Rows[view.FocusedRowHandle]["保存"]);



我怎么能记住在未删除之前这个组在内存里的行号呢
...全文
251 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
doudoushen 2008-05-13
  • 打赏
  • 举报
回复
try
{
for (int i = 0; i < m_ds.Tables["GroupPurview"].Rows.Count; i++)
{
if (selectstr == m_ds.Tables["GroupPurview"].Rows[i]["groupname"].ToString())
{
rowno = i;
break;
}
}
}
catch
{
continue;//没有要中断或继续的封闭循环
}
这样写语法是错误的,但是我要完成上面代码的功能 应该怎么写
Kevin_LiuFeng 2008-05-13
  • 打赏
  • 举报
回复
应该有个状态来标识这行的,根据这个状态你过滤进行操作就行了.

111,125

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧