2009-12-07 2 views
0

listView에 DateTime이나 String이 있는지 어떻게 확인합니까?ListView.Items.Contains with DateTime/String?

나는

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

을 시도했다 그러나 System.Windows.Forms.ListViewItemSystem.DateTime을 변환 할 수 없습니다.

답변

0

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; 
} 
+0

이 방법은 잘 작동합니다. 감사합니다! – Kevin

0
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());