簡體   English   中英

如何在我的列表框中獲取接下來的7天並刪除其他?

[英]how to get the next coming seven days in my listbox and remove the others?

到目前為止,我做到了,但它不能正常工作,而不是讓我知道刪除所有列表項的特定日期,請幫助

private void button1_Click_1(object sender, EventArgs e)
{
    List<RentalCar> listBox1snew = new List<RentalCar>();
    for (int i = 0; i < listBox1s.Count; i++)
    {
        if ((DateTime.Now.Day - listBox1s[i].WOF.Day) <= 7)
        {
            listBox1.Items.Insert(0, listBox1snew[i]);

        }
    }
    listBox1.DataSource = listBox1snew;//add car to listbox
}

首先,檢查日期的邏輯應為:

DateTime.Now.Subtract(listBox1s[i].WOF).Days <= 7

您將ListBox數據源設置為listBox1snew,但從未任何內容添加到listBox1snew!

listBox1.Items.Insert(0, listBox1snew[i]);

這是沒有道理的。 listBox1snew 我相信你的意思是listBox1s[i]

listBox1.DataSource = listBox1snew;

這更沒有意義。 首先,您要在listBox1.Items插入項目,然后覆蓋DataSource ,從而有效地忽略Items 另外,您沒有以任何方式修改listBox1snew ,因此它仍然為空

認為您追求的是:

  • 將元素從listBox1s復制到listBox1snew
  • DataSource設置為listBox1snew

看起來像:

private void button1_Click_1(object sender, EventArgs e)
{
    List<RentalCar> listBox1snew = new List<RentalCar>();
    for (int i = 0; i < listBox1s.Count; i++)
    {
        if (DateTime.Now.Subtract(listBox1s[i].WOF).Days <= 7)
        {
            // Copy from listBox1s to listBox1snew
            listBox1new.Add(listBox1s[i]);
        }
    }
    // Use listBox1new as new data source
    listBox1.DataSource = listBox1new;
}

另外,您可以使用LINQ輕松表達此過濾器:

private void button1_Click_1(object sender, EventArgs e)
{
    listBox1.DataSource = listBox1s.Where(x => DateTime.Now.Subtract(x.WOF).Days <= 7).ToList();
}
DateTime.Now.AddDays(-7) <= listBox1s[i].WOF

您應該先減去兩天,然后再求出天數差。

private void button1_Click_1(object sender, EventArgs e)
    {
        List<RentalCar> listBox1snew = new List<RentalCar>();
        for (int i = 0; i < listBox1s.Count; i++)
        {
            if ((DateTime.Now - listBox1s[i].WOF).Days <= 7)
            {
                listBox1snew .Items.Insert(0, listBox1s[i]);

            }
        }
        listBox1.DataSource = listBox1snew;//add car to listbox
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM