我知道DataTable.Select()的存在。如果您只需要查找行,它的效果很好。
如果您需要查找和修改现有行,该怎么办?我想不出任何其他方法,而不是实现我自己的搜索功能。
任何输入?
我正在使用Compact Framework 2.0,c#
答案 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()
检索的行?