我想根据某些条件过滤数据表。
我有一个这样的数据表
Tabel A MobileNo Email 9999999999 test@test1.com 8888888888 test@test2.com 9999999999 test@test5.com 7777777777 test@test6.com
我希望基于移动设备获得不同的价值,我也需要不在不同表格中退出的数据,但是表格A有 喜欢
Distinct Table Ignore Table MobileNo Email MobileNo Email 9999999999 test@test1.com 9999999999 test@test5.com 8888888888 test@test2.com 7777777777 test@test6.com
我也尝试使用谷歌搜索,但这并不是很容易理解。
先谢谢
答案 0 :(得分:0)
您可以在DataTable上使用select方法
Dim dtFiltered As New DataTable()
dtFiltered = dtAllData.DefaultView.ToTable(True, "MobileNo")
dtAllData是包含所有记录的DataTable dtFiltered仅包含Distinct Records
有关详细信息,请查看MSDN article
根据您的评论更新 在这种情况下,你需要使用除了在 datatable-comparison-using-linq-except-intersect-union
从所有记录中提取不同的记录到第二个DataTable,然后使用Except来比较第一个和第二个DataTable
答案 1 :(得分:0)
感谢您的帮助
最后我得到了解决方案
Dim ValidData = (From row In tbValid.AsEnumerable() Let Mobile = row.Field(Of String)("Mobile") Group row By Mobile Into DupMobile = Group Select DupMobile.First).ToArray Dim Ignoredata = tbValid.AsEnumerable().Except(ValidData.AsEnumerable(), DataRowComparer.Default).ToArray
答案 2 :(得分:0)
从您的示例中,您所做的就是订购您的手机号码。在desending顺序中,这意味着您可以创建一个SQL来表达如下内容:在语句末尾的ORDER BY MobileNo DESC。至少它会以相同的方式显示
或者你的意思是:
Dim dv As DataView = New DataView(DataTable.DataView)
dv.RowFilter = "%" &...