我正在用VB.Net模拟一个老应用程序的功能。我的表单上有一个绑定到BindingSource的DataGridView。我在工具栏上有一个按钮,用来打开一个排序对话框。排序对话框允许按最多3列进行排序。
因此,我从对话框的结果构建了一个字符串,并用它设置了BindingSource.Sort属性。但这不会更新我的DataGridView。我是不是错过了一个步骤--我需要说些什么来刷新一下吗?
发布于 2009-01-07 20:34:15
我刚刚用一个简单的测试应用程序尝试了一下,它不需要调用任何刷新就可以排序。你能发布一些代码吗?你确定你建立的排序字符串是正确的吗?
发布于 2009-01-07 20:17:30
您必须调用DataGridView.DataBind()方法吗?
我太习惯于ASP.NET了,以至于忘记了WinForms的东西。
发布于 2009-01-07 20:20:32
什么是底层对象,它支持排序吗?您可以通过.SupportsSorting属性(iirc)进行检查。如果它是一个DataTable,那么你应该没问题。
您是否尝试过将排序直接应用于Grid?
为了安全起见,您可以在更新排序属性后尝试调用BindingSource.ResetBindings(false),但您不必这样做。
https://stackoverflow.com/questions/421887
复制相似问题