-5

我试图在 2010 年之前雇用的 Grid 员工中展示。我该怎么做?我有一个Employee具有属性的类(名字、姓氏、ID 和就业日期)

private List<Employee> _employees = new List<Employee>();

private void Form1_Load(object sender, EventArgs e)
{
    Employee employee1 = new Employee();

    employee1.FirstName = "Etrit";
    employee1.LastName = "Bujupi";
    employee1.Id = 1;
    employee1.EmploymentDay = DateTime.Today;
    _employees.Add(employee1);            

    Employee employee2 = new Employee();

    employee2.FirstName = "Urim";
    employee2.LastName = "Sadiu";
    employee2.Id = 2;
    employee2.EmploymentDay = new DateTime(2009, 1, 23);
    _employees.Add(employee2); 


    Employee employee3 = new Employee();

    employee3.FirstName = "Dardan";
    employee3.LastName = "Mexhuani";
    employee3.Id = 3;
    employee3.EmploymentDay = new DateTime(2007, 2, 7);
    _employees.Add(employee3);            

    Employee add = new Employee();
    if (_employees < System.DateTime.Now)
    {
        EmployeeGrid.DataSource = _employees;
    }
}
4

6 回答 6

2
EmployeeGrid.DataSource = _employees.Where(e => e.EmploymentDay.Year < 2010).ToList();
于 2013-01-18T15:52:19.130 回答
2

尝试这个 :

EmployeeGrid.DataSource = _employees.Where(x=> x.EmploymentDay.Year < 2010);
于 2013-01-18T15:52:30.223 回答
2

如何改变这个:

if (_employees < System.DateTime.Now)
{
    EmployeeGrid.DataSource = _employees;
}

 EmployeeGrid.DataSource = _employees.Where(e => e.EmploymentDay.Year < 2010).ToList();

最后的部分可能.ToList()不需要,但我添加它是为了与您的实际数据结构保持一致。我建议.ToList()先尝试一下,看看是否有效。

于 2013-01-18T15:52:46.833 回答
2

您可以使用Linq它来过滤它:

employeeGrid.DataSource = _employees.Where(e => e.EmploymentDay.Year < 2010);

当然,最好不要在首先检查DateTime.Year属性时添加它们。

于 2013-01-18T15:53:11.757 回答
0
var query = from e in _employees
            where e.EmploymentDay.Year < 2010
            select e;
于 2013-01-18T15:55:40.237 回答
0

尝试:

        if (_employees < System.DateTime.Now)
        {
            EmployeeGrid.DataSource = _employees.Where(s => s.EmploymentDay.Year < 2010);
        }

您可能需要添加

        using System.Linq;
于 2013-01-18T15:53:22.937 回答