1

我正在模拟 VB.Net 中旧应用程序的功能。我的表单上有一个绑定到 BindingSource 的 DataGridView。我在工具栏上有一个按钮,它启动了一个排序对话框。排序对话框最多允许按 3 列排序。

所以我正在从对话框的结果中构建一个字符串,并用它设置 BindingSource.Sort 属性。但这不会更新我的 DataGridView。我错过了一步 - 我需要告诉一些东西来刷新吗?

4

3 回答 3

3

我只是用一个简单的测试应用程序尝试了这个,它排序而无需调用任何刷新。你能发布一些代码吗?你确定你正确地建立了排序字符串吗?

于 2009-01-07T20:34:15.317 回答
1

您是否必须调用 DataGridView.DataBind() 方法?

我已经习惯了 ASP.NET,以至于忘记了 WinForms 的东西。

于 2009-01-07T20:17:30.310 回答
0

什么是底层对象,它是否支持排序?您可以通过 .SupportsSorting 属性 (iirc) 进行检查。如果它是一个 DataTable 那么你应该没问题。

您是否尝试过将排序直接应用于网格?

您可以在更新排序属性后尝试调用BindingSource.ResetBindings(false),只是为了安全起见,但您不必这样做。

于 2009-01-07T20:20:31.707 回答