【问题标题】:How to filter names from a table and get the row that we want in C#?如何从表中过滤名称并在 C# 中获取我们想要的行?
【发布时间】:2014-05-15 00:37:48
【问题描述】:

例如,我有一个包含 UserNameFirstNameLastNameDOB 列的表, 地址..

用户名示例:
SalesSalesManager_TimSmith_ERC
SalesSalesRepresentative_AlberHellstern_BD
BackOfficeReceptionist_CarolinePatterson_QW
BackOfficeMailClerk_XavierMartin_QW
人力资源HRManager_LaurentPereira_EE
人力资源HRAssistant_AmyAlberts_ERC
...等

当我想用我想要的特定 UserName 过滤掉整个表格时,我在文本框中输入“ [asterisk]Alber[asterisk] ”,表格将被过滤,只有列表(连同它的 FirstNameDOB 等)将出现在下面: SalesSalesRepresentative_AlberHellstern_BD
HumanResourceHRAssistant_AmyAlberts_ERC

我们可以编写什么代码来进行过滤?

【问题讨论】:

  • 表的内容是否存储在数据库中?
  • 你在使用某种实体框架吗?您是否打算使用 SQL 来完成此任务(不推荐)?是否有数据库或者这个“表”是你拥有的某种对象?你能告诉我们你的代码吗?
  • 是的,它存储在数据库(XML 文件)中。从文件中读取后,将创建表。
  • 我正在使用 WPF C# 生成表中的数据。我使用 ObservableCollection 保存了列中的所有元素(例如“FirstName”、“LastName”等),并使用我的 MainWindow.xaml 对其进行数据绑定,并使用 syncfusion 网格树格式创建它。
  • 我可以用正则表达式写吗?

标签: c# wpf xaml text filter


【解决方案1】:

如果您使用的是 EF,那么您可以使用 linq 以及 User 类型的用户列表,然后您可以编写

List<User> filtered = User.where(u => u.UserName.ToLower().Contains(FilterString.ToString())).ToList();

FilterString 是字符串类型,它包含您的过滤器,在您的情况下为“alber”。

【讨论】:

  • 谢谢。它确实有帮助! =)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 1970-01-01
  • 1970-01-01
  • 2021-05-02
  • 1970-01-01
相关资源
最近更新 更多