首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找体验并向用户展示

查找体验并向用户展示
EN

Stack Overflow用户
提问于 2021-05-24 14:48:48
回答 2查看 36关注 0票数 0

我有一个文本框,用户可以在其中输入一些数字,例如,6。我还有一个基于我的类的datagridview,其中包含姓名、雇佣日期和职位。我需要向员工展示谁在这家公司工作了6年或更长时间。当用户输入新数字时,将显示在该时间段内工作的新员工列表。需要从今天的日期中减去雇佣日期,如果该数字等于或高于文本框中输入的日期,则显示在该公司具有此类工作经验的员工。我已经用name做了类似的事情,下面是代码:

代码语言:javascript
复制
var text = textBox4.Text;
var result = workers.MyList.Where(m => m._Name == text).ToList();
dataGridView1.DataSource = result;

用于添加我使用的新员工:

代码语言:javascript
复制
workers.Add(new employee(textBox1.Text, dateTimePicker1.Value, textBox2.Text));
var data = workers.MyList.Select(bring => new
{
    Name = bring._Name,
    Date = bring._Date,
    Position = bring._Position,
}).ToList();
dataGridView1.DataSource = data;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-24 15:30:56

如果您Date属性是类型为DateTime的employees code,那么您可以尝试以下代码,

代码语言:javascript
复制
if(int.TryParse(textBox3.Text, out int exp))
{
   //Get difference between today's year and  Date year
   dataGridView1.DataSource = data
                .Where(x => (DateTime.Today.Year - x.Date.Year) >= exp)  
                .ToList(); //Convert to list
}
else
   MessageBox.Show("Invalid experiece enter a number", "Invalid experience", MessageBoxButtons.OK, MessageBoxIcon.Error);
票数 0
EN

Stack Overflow用户

发布于 2021-05-24 15:58:19

这对我很有效。

代码语言:javascript
复制
var exp = Convert.ToInt32(textBox3.Text);
var res=  workers.MyList.Where(x => (DateTime.Now.Year - x._Date.Year) >= exp)
            .ToList(); //Convert to list
dataGridView1.DataSource = res;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67667730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档