Abi*_*n47 5 c# datagridview bindingsource winforms
因此,我一直在遵循Windows 窗体控件上的数据绑定指南(MAD 支持作者,该指南很棒),并且我使用它来创建自定义类并将 a 绑定DataGridView到此类的集合:
class CompleteJobListEntry
{
private string _jobName;
private Image _jobStatus;
private DateTime _jobAddedDate;
private string _jobAddedScanner;
private string _jobAddedUser;
private string _jobLastActivity;
private DateTime _jobActivityDate;
private string _jobActivityUser;
public string JobName { get { return _jobName; } set { this._jobName = value; } }
public Image JobStatus { get { return _jobStatus; } set { this._jobStatus = value; } }
public DateTime JobAddedDate { get { return _jobAddedDate; } set { this._jobAddedDate = value; } }
public string JobAddedScanner { get { return _jobAddedScanner; } set { this._jobAddedScanner = value; } }
public string JobAddedUser { get { return _jobAddedUser; } set { this._jobAddedUser = value; } }
public string JobLastActivity { get { return _jobLastActivity; } set { this._jobLastActivity = value; } }
public DateTime JobActivityDate { get { return _jobActivityDate; } set { this._jobActivityDate = value; } }
public string JobActivityUser { get { return _jobActivityUser; } set { this._jobActivityUser = value; } }
}
Run Code Online (Sandbox Code Playgroud)
此时,我从各种 SQL 数据库导入一堆数据来填充表,结果非常棒。该指南甚至为添加过滤器提供了一个很好的起点,我打算稍后再讲。但目前,我仍停留在对新生成的DataGridView. 环顾四周,我发现它DataGridView有自己的 Sort 方法,可用如下:
completeJobListGridView.Sort(completeJobListGridView.Columns["JobName"], ListSortDirection.Ascending);
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试执行此操作时,我收到一条InvalidOperationException消息,告诉我“如果 DataGridView 控件绑定到不支持排序的 IBindingList,则无法对它进行排序”。我找到了 IBindingList 和 IBindingListView 接口,但是让我的类继承这些接口中的任何一个都不能解决问题。
我该怎么做呢?我完全被困在这里了......
如果您的数据位于集合中,您应该能够使用该BindingListView库轻松向 DGV 添加排序功能。请参阅如何实现DataGridView的自动排序?以及我对如何对绑定到 EF EntityCollection<T> 的 WinForms DataGridView 进行排序的回答,以获取更多信息和代码片段。
| 归档时间: |
|
| 查看次数: |
12589 次 |
| 最近记录: |