listView.Items.Contains с DateTime / String? - PullRequest
       8

listView.Items.Contains с DateTime / String?

0 голосов
/ 07 декабря 2009

Как проверить, содержит ли listView DateTime или String?

Я пробовал

if (!listView1.Items.Contains(SetAlarm.Value))

Но он не может конвертировать System.DateTime в System.Windows.Forms.ListViewItem.

Ответы [ 2 ]

0 голосов
/ 07 декабря 2009
    bool isMatch = false;

    int matchIndex = -1;

    DateTime resultDate = = new DateTime();

    foreach(ListViewItem lvItem in listView1.Items)
    {
        if(DateTime.TryParse(lvItem.Text, out resultDate ))
        {
           isMatch = true;
           matchIndex = lvItem.Index;
           break;
        }
    }

    if(isMatch) Console.WriteLine("match at index : " + matchIndex.ToString() + " = " + resultDate.ToString());
0 голосов
/ 07 декабря 2009

listView1.Items.Contains(new ListItem(DateTime.Now)) не будет работать. Contains работает только в том случае, если мы фактически передаем Предмет в ListView.Items коллекциях. Я думаю, вам придется использовать цикл for: (

foreach (ListViewItem s in listView1.Items)
{
    if (s.Text != SetAlarm.Value.ToString()) continue;
    MsgBox.Show("Found: " + SetAlarm.Value.ToString());
    return;
}
...