2017-04-06 6 views
0

私はこのリンクのユーザーコントロールを使用しましたhttps://www.codeproject.com/articles/739902/how-to-easily-host-wpf-control-inside-windows-form 私はコンストラクタのこのユーザーコントロールでデータを読み込むことができますが、他のメソッドから呼び出したいのですが失敗しました。私はボタンイベントでこれを試みたが、失敗しているコンストラクタなしでデータをusercontrolにバインドするには?

public Getstarted() 
{ 
    InitializeComponent(); 
    List<Employee2> employees = new List<Employee2>(); 
    try 
    { 
     con = new SqlConnection(cs.DBConn); 
     con.Open(); 
     cmd = new SqlCommand("SELECT Participant.ParticipantName, MeetingParticipant.Title, Participant.ParticipantId FROM   MeetingParticipant INNER JOIN Participant ON MeetingParticipant.ParticipantId = Participant.ParticipantId INNER JOIN Meeting ON MeetingParticipant.MeetingId = Meeting.MeetingId where Meeting.Statuss='Open'", con); 
     rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 

      while (rdr.Read() == true) 
      { 
       employees.Add(new Employee2() { Name = rdr[0].ToString(), Title = rdr[1].ToString(), Id = rdr[2].ToString()}); 
      } 
      con.Close(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
    this.comboBoxWithGrid_WinformsHost1.Employee2s = employees; 
} 

construcorがある

private void MyMethod() 
{  
    List<Employee2> employees = new List<Employee2>(); 
    try 
    { 
     con = new SqlConnection(cs.DBConn); 
     con.Open(); 
     cmd = new SqlCommand(" SELECT Participant.ParticipantName, MeetingParticipant.Title, 
     Participant.ParticipantId FROM   MeetingParticipant 
      INNER JOIN 
      Participant ON MeetingParticipant.ParticipantId = 
      Participant.ParticipantId INNER JOIN Meeting ON 
      MeetingParticipant.MeetingId = Meeting.MeetingId where 
      Meeting.Statuss='Open'", con); 
     rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection); 

     while (rdr.Read() == true) 
     { 
      employees.Add(new Employee2() { Name = rdr[0].ToString(), Title = rdr[1].ToString(), Id = rdr[2].ToString()});  
     } 
     con.Close(); 
    } 
    catch (Exception ex) 
    { 
     MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
     this.comboBoxWithGrid_WinformsHost1.Employee2s = employees; 
} 

これは、ここに私の最初の質問で、何かが私の限界の感謝を理解してみてください欠落している場合、私はこの分野では初心者をしています君は。

+0

を使用して ことで、私の問題を解決し、「それが失敗しました」 。 –

+0

エラーメッセージが表示されませんでした。 –

+0

それから起こるべきことと何が起こったのかの違いを含めることを忘れないでください。 –

答えて

0

これは私の問題への直接の答えではありませんが、私はすべてのエラーメッセージまたはその代わりと言ってのエラーの説明を提供することが一般的に標準と考えられている。このライン

 this.comboBoxWithGrid_WinformsHost1.Employee2s.AddRange(employees); 
関連する問題