联系人议程 [英] Agenda of Contacts

查看:100
本文介绍了联系人议程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,

我必须制定联系人议程。我已将数据保存在DataGridView中。它包含姓名,姓氏,电话号码和
出生日期。如何使用线程和按钮找到我在DataGridView中保存的当天生日的所有联系人?

先谢谢你。

推荐答案

你好,

正确的启动方式是将数据加载到List< T>中。或者DataTable,在这种情况下,我在List< T>中模拟了数据。许多开发人员认为通过DataGridView.Rows.Add加载数据,但这不正确,设置一个DataSource,如下所示。

The correct way to start is to load data into a List<T> or a DataTable, in this case I have mocked up data in a List<T>. Many developers think to load data via DataGridView.Rows.Add but that is not proper, setup a DataSource as I have done below.

public class Item
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public DateTime BirthDate { get; set; }
}

模拟数据在表单加载中设置为DataGridView。 Button1点击事件显示如何获取今天的出生日期。

Mocked data is set to the DataGridView in form load. Button1 click event shows how to get birth dates for today.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            var itemList = new List<Item>() 
            {

                new Item { FirstName = "Anne", LastName = "Smith", BirthDate = DateTime.Parse("5/1/2019") },
                new Item { FirstName = "Bob", LastName = "Jones", BirthDate = DateTime.Parse("5/2/2019") },
                new Item { FirstName = "Cathy", LastName = "Adams", BirthDate = DateTime.Parse("5/3/2019") },
                new Item { FirstName = "Dan", LastName = "Gallagher", BirthDate = DateTime.Parse("5/4/2019") },
                new Item { FirstName = "Ed", LastName = "White", BirthDate = DateTime.Parse("5/5/2019") },
                new Item { FirstName = "Frank", LastName = "Lebow", BirthDate = DateTime.Parse("5/10/2019") },
                new Item { FirstName = "George", LastName = "Henderson", BirthDate = DateTime.Parse("5/7/2019") },
                new Item { FirstName = "Hank", LastName = "Bellow", BirthDate = DateTime.Parse("5/8/2019") },
                new Item { FirstName = "Mary", LastName = "Lily", BirthDate = DateTime.Parse("5/9/2019") },
                new Item { FirstName = "Jane", LastName = "Houser", BirthDate = DateTime.Parse("5/10/2019") },
                new Item { FirstName = "Ken", LastName = "Hicks", BirthDate = DateTime.Parse("5/11/2019") },
                new Item { FirstName = "Larry", LastName = "Payne", BirthDate = DateTime.Parse("5/12/2019") }
            };

            DataGridView1.DataSource = itemList;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            var itemList = (List<Item>)DataGridView1.DataSource;

            var results = itemList.Where((item) => item.BirthDate.Date == DateTime.Now.Date).ToList();

            if (results.Count > 0)
            {
                foreach (Item item in results)
                {
                    Console.WriteLine(


" {item.FirstName} {item.LastName}");
}
}
其他
{
Console.WriteLine("今天没有生日");
}
}
}
}
"{item.FirstName} {item.LastName}"); } } else { Console.WriteLine("No birthdays today"); } } } }


在上述情况下,今天5月10日有两天,明天1.

In the case above there are two both days for today 5/10, tomorrow 1.


这篇关于联系人议程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆