以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 在使用getchild获取集合后,怎么再条件筛选list的内容? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129007) |
-- 作者:ls93005 -- 发布时间:2018/12/19 21:00:00 -- 在使用getchild获取集合后,怎么再条件筛选list的内容? 如题,就是如何再筛选集合内的list of datarow ? |
-- 作者:有点甜 -- 发布时间:2018/12/19 22:04:00 -- 无法直接筛选集合的。只能循环每一行判断,如
For Each dr As datarow in drs If 条件 Then
End If Next |
-- 作者:ls93005 -- 发布时间:2018/12/19 22:10:00 -- 试过 但出错是为什么 |
-- 作者:有点甜 -- 发布时间:2018/12/19 22:16:00 -- 以下是引用ls93005在2018/12/19 22:10:00的发言:
试过 但出错是为什么
1、贴出你写的代码;
2、报什么错? |
-- 作者:ls93005 -- 发布时间:2018/12/19 22:24:00 -- 回复:(有点甜)以下是引用ls93005在2018/12/19 22:1... Select Case e.DataCol.name Case "C30_原设计_数量","C30_原设计_金额","C30_变更后_数量","C30_变更后_金额","C30_变更值_数量","C30_变更值_金额" Dim drs As List(Of DataRow) = e.DataRow.GetChildRows("护栏工程量表") Dim dr As DataRow For i As Integer = 0 To drs.count - 1 If drs("原设计或变更") = "原设计" Then e.DataRow("C30_原设计_数量") = e.DataRow("C30_原设计_数量") + drs(i)("C30混凝土_方量") End If Next End Select ---------------------------
错误 --------------------------- 编译错误:重载决策失败,原因是没有可访问的“=”可以用这些参数调用: 错误代码:If drs("原设计或变更") = "原设计" Then --------------------------- 确定 --------------------------- |
-- 作者:有点甜 -- 发布时间:2018/12/19 22:36:00 -- 改成
If drs(i)("原设计或变更") = "原设计" Then |
-- 作者:ls93005 -- 发布时间:2018/12/19 22:37:00 -- 谢谢!
|
-- 作者:ls93005 -- 发布时间:2018/12/19 22:39:00 -- 回复:(有点甜)改成 &n... 但是这样的话好像进入一个死循环。程序直接退出,我看不出是哪儿的问题…… |
-- 作者:有点甜 -- 发布时间:2018/12/19 22:45:00 --
Select Case e.DataCol.name
|
-- 作者:ls93005 -- 发布时间:2018/12/19 22:48:00 -- 回复:(有点甜) Select Case e.DataCol.name... 老师,有时间能解释一下吗。我头想破都不懂的。 |