2012-08-01 3 views
-2

목록보기에서 선택한 각 항목에 대해 문자열을 취하는 메서드를 호출하려고합니다.listview에서 선택한 항목 foreach 호출 메서드

foreach (string item in lvwPoliciesAvailableForHoldBack.SelectedItems) 
       { 
        Database.HoldBackPolicy(item); 
       } 

이 오류로 실행 해요 :

유형 'System.Windows.Forms.ListViewItem'의 개체를 캐스팅 할 수 없습니다
이 '선택 System.String'를 입력합니다.

public int HoldBackPolicy(string PolicyNumber) 
     { 
      int result = 0; 

      SqlCommand cmd = new SqlCommand("spHoldBackPolicy", conn); 
      cmd.CommandType = CommandType.StoredProcedure; 
      cmd.Parameters.AddWithValue("@PolicyNumber", PolicyNumber); 

      var returnParameter = cmd.Parameters.Add("@RETURN_VALUE", SqlDbType.Int); 
      returnParameter.Direction = ParameterDirection.ReturnValue; 

      try 
      { 
       conn.Open(); 
       cmd.ExecuteNonQuery(); 
       result = Convert.ToInt32(returnParameter.Value); 
      } 
      catch (Exception e) 
      { 
       MessageBox.Show(e.Message.ToString()); 
      } 
      finally 
      { 
       conn.Close(); 
      } 
      return result; 
     } 
+1

당신은 코드가 잘 경우 ... ... ... 그것을 시도하고 알아보십시오. –

+0

'System.Windows.Forms.ListViewItem'형식의 개체를 'System.String'형식으로 캐스팅 할 수 없습니다. – Testifier

답변

4

당신은 문자열 .. 오류가 모든 것을 말해에있는 ListViewItem을 캐스팅 할 수 없습니다

다음은 "HoldBackPolicy"방법입니다.

이 줄 :

foreach (string item in lvwPoliciesAvailableForHoldBack.SelectedItems) 

잘못입니다. 그것은이 있어야합니다 :

foreach (ListViewItem item in lvwPoliciesAvailableForHoldBack.SelectedItems) 

그리고이 함수 호출이 될해야합니다

Database.HoldBackPolicy(item.Text); 
+0

이 효과가 있습니다. 감사 :) – Testifier

관련 문제