搜索DataTable(c#2.0)

时间:2009-08-05 18:49:32

标签: c# datatable c#-2.0

我知道DataTable.Select()的存在。如果您只需要查找行,它的效果很好。

如果您需要查找和修改现有行,该怎么办?我想不出任何其他方法,而不是实现我自己的搜索功能。

任何输入?

我正在使用Compact Framework 2.0,c#

3 个答案:

答案 0 :(得分:4)

一种强类型方法:

Dim dt As DataTable 'Get your DataTable populated with data
Dim dr As DataRow = dt.Rows.Find("pk1") 'Finds the row with this Primary Key
dr.BeginEdit() 'Transactional Update
dr.Item("columnName") = "someValue" 'Update this named column to someValue
dr.EndEdit() 'End Transaction
dt.LoadDataRow(dr.ItemArray, True) 'Update the datatable

答案 1 :(得分:2)

我建议不要使用DataTable类并使用POCO(普通的旧C#对象)并使用List<obj>并利用.Find()和.FindAll()。

看一下解释INotifyPropertyChanged的http://www.gavaghan.org/blog/2007/07/17/use-inotifypropertychanged-with-bindinglist/,我相信大多数其他接口都以类​​似的方式实现。

答案 2 :(得分:0)

为什么不能修改通过DataTable.Select()检索的行?