2017-04-06 26 views
0

我已经使用了用户控件从这个链接https://www.codeproject.com/articles/739902/how-to-easily-host-wpf-control-inside-windows-form 我只能在构造函数此用户控件加载数据,但我想从其他方法中调用它,但我失败了有什么办法? 的construcor是如何将数据绑定到无构造用户控件?

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

我已经试过这对按钮事件,但未能

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); 
相关问题