我有以下代码段,根据DataTable
将custom_id
中的行删除为" Y" (即,如果custom_id
的值为" Y" dictionary
),则删除该行。现在列表fldListWithUnlimitedDataEnabled
中的记录很少,而DataTable objDt
中的记录相对较多,有没有办法从{{1}中删除特定行(如objRow.Delete()
中所做的那样) ,所以我不必遍历整个objDt
几个记录?
DataTable
答案 0 :(得分:1)
如果objDt是强类型DataSet的一部分而custom_id是DataTable的主键,它将有一个FindBycustom_id方法来查找该行。
自动生成函数的名称为FindBy,后跟主键名称。 然后,您可以遍历您的密钥列表,找到该行并删除它们。
For Each id in fldListWithUnlimitedDataEnabled
Dim objRow = objDt.FindBycustom_id(id)
if objRow IsNot Nothing Then objRow.Delete()
Next
如果这不是可用选项,您可以随时使用选择
For Each id in fldListWithUnlimitedDataEnabled
Dim objRows = objDt.Select("custom_id = '" & id & "'")
For Each row in objRows
row.Delete()
Next
Next