玉祥平台客服-15087858732

标题: 在平台中调用网格部件.DeleteFocusedRow()后在循环访问网格部件.DataTabel时报错 [打印本页]

作者: 陈晓龙    时间: 2020-6-25 14:29
标题: 在平台中调用网格部件.DeleteFocusedRow()后在循环访问网格部件.DataTabel时报错
本帖最后由 陈晓龙 于 2016-1-25 14:30 编辑

'访问DataTable时提示:已删除行不能访问for each dr in 网格部件1.DataTable.Rows   
    if isnull(dr["ID"]) then
        ShowInformation("ID不能为空")
        end
    end if   
next  


如上图所示这样的循环判断,如果在对网格部件1的数据进行过删除操作,也就是调用过:网格部件.DeleteFocusedRow()这样的方法,那么会引发错误:已删除的上不能访问
解决办法,添加判断,判断该行是否被删除,在进行访问该行的数据:
for each dr in 任务关系人.DataTable.Rows
    if dr.RowState<>8  then
        if isnull(dr["人员ID"]) then
            ShowInformation("请选择所有关系类型的关系人,不需要的可以右键删除。")
            end
        end if
    end if
next  

判断dr的RowState属性可以判断。
RowState属性注解:

        //     该行已被创建,但不属于任何 System.Data.DataRowCollection。System.Data.DataRow 在以下情况下立即处于此状态:创建之后添    加到集合中之前;或从集合中移除之后。
        Detached = 1,

        //     该行自上次调用 System.Data.DataRow.AcceptChanges() 以来尚未更改。
        Unchanged = 2,

        //     该行已添加到 System.Data.DataRowCollection 中,System.Data.DataRow.AcceptChanges() 尚未调用。
        Added = 4,

        //     该行已通过 System.Data.DataRow 的 System.Data.DataRow.Delete() 方法被删除。
        Deleted = 8,

        //     该行已被修改,System.Data.DataRow.AcceptChanges() 尚未调用。
        Modified = 16,  



作者: 王爱东    时间: 2020-6-25 17:26
对的。这几种枚举值要知道是什么意思。
作者: 万望    时间: 2020-6-26 07:10
学习了 撒
作者: 张兴康    时间: 2020-6-26 13:23
不错,学习了,收藏起
作者: 陈晓龙    时间: 2020-6-26 13:44
万望 发表于 2016-1-26 07:10
学习了 撒

很好!
作者: 陈晓龙    时间: 2020-6-26 13:45
张兴康 发表于 2016-1-26 13:23
不错,学习了,收藏起

嗯,收藏嘛!
作者: 张兴康    时间: 2020-6-26 13:47
陈晓龙 发表于 2016-1-26 13:45
嗯,收藏嘛!


作者: 万望    时间: 2020-6-29 23:28

作者: 万望    时间: 2020-6-30 16:56

作者: 万望    时间: 2020-6-30 16:58
温故而知新
作者: 陈晓龙    时间: 2020-6-30 19:41
万望 发表于 2016-8-30 16:56


作者: 陈晓龙    时间: 2020-6-30 19:41
万望 发表于 2016-8-30 16:58
温故而知新


作者: 万望    时间: 2020-7-7 22:59
学过C#编程应该知道,小白相对理解就会稍微难一点
作者: 陈晓龙    时间: 2020-7-8 16:06
万望 发表于 2016-9-7 22:59
学过C#编程应该知道,小白相对理解就会稍微难一点

对头
作者: 万望    时间: 2020-7-8 22:45

作者: 万望    时间: 2020-7-25 00:11
搞忘记了,来看看
作者: 陈晓龙    时间: 2020-7-25 22:37
万望 发表于 2016-2-25 00:11
搞忘记了,来看看

欢迎!




欢迎光临 玉祥平台客服-15087858732 (http://bbs.delit.cn/) Powered by Discuz! X3.2