Asp.net 循环遍历单个DataTable VB.Net的行
我在尝试迭代Datatable甚至使用Linq类时遇到问题 我有一张这样的桌子:Asp.net 循环遍历单个DataTable VB.Net的行,asp.net,.net,vb.net,Asp.net,.net,Vb.net,我在尝试迭代Datatable甚至使用Linq类时遇到问题 我有一张这样的桌子: (String) (String) (String) (String) (Integer) Criteria | description | Option | Title | status ------------------------------------------------------------ Criteria 1 Lorem Ips
(String) (String) (String) (String) (Integer)
Criteria | description | Option | Title | status
------------------------------------------------------------
Criteria 1 Lorem Ipsum Option 1 Class # 0
Criteria 1 Lorem Ipsum Option 1 Class # 0
Criteria 2 Lorem Ipsum Option 1 Class # 0
Criteria 2 Lorem Ipsum Option 2 Class # 1
Criteria 2 Lorem Ipsum Option 3 Class # 0
Criteria 3 Lorem Ipsum Option 1 Class # 0
Criteria 3 Lorem Ipsum Option 2 Class # 1
Criteria 3 Lorem Ipsum Option 2 Class # 0
Criteria 3 Lorem Ipsum Option 3 Class # 0
这是我的密码
--VB.NET--
Dim dt As DataTable = StoredProcedure
For Each row As DataRow In dt.Rows
Dim sCriteriaOne As DataRow() = dt.Select("Criteria='Criteria 1'")
Item.Append("<p>" + CStr(sCritOne.Item("Option")) + "</p>")
Next
-VB.NET--
作为数据表的Dim dt=存储过程
对于dt.行中作为DataRow的每一行
Dim sCriteriaOne As DataRow()=dt.Select(“标准=”标准1'))
项目.附加(“”+CStr(sCritOne.Item(“选项”))+“”)
下一个
当前它不会编译,并告诉我“Item”不是DataRow()的成员
我试图实现的是能够在DataTable中循环并在满足条件的情况下附加rows项。我曾经尝试过使用Linq,但我对它的理解是有限的,尽管我确实阅读了许多其他MSDN文档,以及关于类似问题的帖子 你的循环开始得很好,但在细节上却失败了。我猜你想做什么,但也许这足以让你开始。字符串前面的
$
是一个插值字符串,它允许您将变量放在字符串中,并用{}
包围。如果您使用的是旧版本的vb,则必须使用旧方法String.Format
。要检查数据的更新方式,请在结束程序后检查立即窗口。这就是Debug.Print的作用
If row("Criteria").ToString = "Criteria 1" Then
row("Criteria") = row("Criteria").ToString & $" <p>{CStr(row("Option"))}"
Debug.Print(row("Criteria").ToString)
End If
如果行(“标准”).ToString=“标准1”,则
行(“标准”)=行(“标准”)。ToString&$“{CStr(行(“选项”)}”
Debug.Print(行(“标准”).ToString)
如果结束
这是因为sCriteriaOne
是数据行的数组
,而项
不是该对象的成员。。。如果不需要数组,请删除()
,否则需要迭代数组。。。如果你不移除它们。同样打开option strict。您似乎在对行进行迭代,然后在每次迭代中执行select-因此您要做两次相同或类似的事情。感谢您的编辑,但我认为DataTable与html无关。网格是,但数据表只存在于内存中。html.Append会做什么?没问题。我能理解这种混乱。我使用html作为新的StringBuilder。@cpt crunchy得到了它!是的,在循环中使用StringBuilder是一个非常好的主意。StringBuilder
将非常有用(谈论性能),只有当有太多的连接在进行时才有用,例如,可能有10个或更多…根据格式,正式的代码会做得最好