How do I check if a listView contains a DateTime or String?
I've tried
if (!listView1.Items.Contains(SetAlarm.Value))
But it cannot convert System.DateTime
to System.Windows.Forms.ListViewItem
.
How do I check if a listView contains a DateTime or String?
I've tried
if (!listView1.Items.Contains(SetAlarm.Value))
But it cannot convert System.DateTime
to System.Windows.Forms.ListViewItem
.
listView1.Items.Contains(new ListItem(DateTime.Now))
will not work. Contains
only works if we are passing an Item actually in ListView.Items
collections. I think you will have to use a for loop :(
foreach (ListViewItem s in listView1.Items)
{
if (s.Text != SetAlarm.Value.ToString()) continue;
MsgBox.Show("Found: " + SetAlarm.Value.ToString());
return;
}
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());