Tag: 数据视图

按创建日期C#对List 进行排序

在MSDN上使用此示例: using System.Collections.Generic; using System.IO; namespace CollectionTest { public class ListSort { static void Main(string[] args) { List files = new List(); files.Add(new FileInfo(“d(1)”)); files.Add(new FileInfo(“d”)); files.Add(new FileInfo(“d(2)”)); files.Sort(new CompareFileInfoEntries()); } } public class CompareFileInfoEntries : IComparer { public int Compare(FileInfo f1, FileInfo f2) { return (string.Compare(f1.Name, f2.Name)); } } } 我如何比较创建日期。 F1有一个属性“创建”日期,这是一个FileSystemInfo.Datetime,但是当我尝试这个时: public class […]

如何基于多个输入过滤DataView

我知道如何根据用户在单个文本框中的输入过滤数据: FilterDataView.RowFilter = txtFilter.Text; 但是,您将如何根据多个字段的多个用户输入过滤数据。 基本上filter将充当“搜索”function。

C#:自定义DataGridView

我需要使用自然排序(在资源管理器中)对DataGridView进行排序,以便数字和文本(在同一列中)自然排序,而不是按字母顺序排序(以便“位置3”位于“位置20”之前,等等)。 我有一个DataGridView,我将DataView设置为DataSource。 DataView包含一个DataTable,它是使用数据库中的某些值创建的。 列类型是字符串。 我有一个IComparer,它做了应有的事情,但我无法弄清楚如何使用它,因为我无法找到如何进行排序。 DataGridView.SortCompare事件是完美的 ,因为它是数据绑定的,所以不起作用。 DataView.Sort只接受具有列名和排序顺序的字符串。 很烦人。 试图在StackOverflow上阅读相关问题,并搜索谷歌的很多和很多,但我真的找不到这个。 只有我真正找到的东西是使用dataview的Sort(字符串)方法,因为它按字母顺序排序。 有没有人知道如何做到这一点没有太多麻烦? 它应该是别人而不是我这个? 我真的不想重新实现整个datagridview或dataview类,只是为了获得自定义排序… 更新 :如果有人想知道,我仍然在寻找这个问题的好答案。 虽然与此同时,我最终创建了自己的简单表类,然后手动将其提供给datagridview。 覆盖SortCompare方法。 有点烦人,但不是太难,因为我只需要显示值(没有编辑或任何东西),因此可以将所有内容转换为字符串。