如果我写:
myDataGridView.DataSource = myDataTable.Select(fitlerString);
myDataGridView.Sort(myDataGridView.Columns[1], ListSortDirection.Ascending)
我收到InvalidOperationException
消息
"DataGridView control must be bound to an IBindingList object to be sorted."
但我无法找到一种方法来获取只有DataRow[]
调用中所需行的数据表(而不是DataTable.Select()
)。
我可以使用DataTable.Select(filterString)
来控制DataGridView中显示的行,还可以使用DataGridView.Sort()
来控制它们显示的顺序吗?
如果它不会在其他地方引起问题,我宁愿能够将我的DataSource保存为DataTable,以避免在代码库中的其他地方更改假设。
答案 0 :(得分:1)
您将不得不填补数据。好消息是我发现了Wessam Zeidan的blog entry,其代码已经编写完成。他解决的问题有点不同,但我认为它会对你有所帮助。主要内容是将DataRow []对象转换回DataTable。请务必阅读评论,以及他们可能会提供帮助。
祝你好运,好好整理!