Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在没有构造函数的情况下将数据绑定到usercontrol?_C#_Winforms_User Controls_Wpf Controls - Fatal编程技术网

C# 如何在没有构造函数的情况下将数据绑定到usercontrol?

C# 如何在没有构造函数的情况下将数据绑定到usercontrol?,c#,winforms,user-controls,wpf-controls,C#,Winforms,User Controls,Wpf Controls,我已使用此链接中的用户控件 我只能在构造函数中加载这个用户控件中的数据,但我想从其他方法调用它,但失败了。有什么办法吗? 承包商是 public Getstarted() { InitializeComponent(); List<Employee2> employees = new List<Employee2>(); try { con = new SqlConnection(cs.DBConn); con.Open

我已使用此链接中的用户控件 我只能在构造函数中加载这个用户控件中的数据,但我想从其他方法调用它,但失败了。有什么办法吗? 承包商是

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;
}
public getstart()
{
初始化组件();
列出员工=新列表();
尝试
{
con=新的SqlConnection(cs.DBConn);
con.Open();
cmd=new-SqlCommand(“从MeetingParticipantName,MeetingParticipant.Title,Participant.ParticipantId从MeetingParticipant内部加入MeetingParticipant上的参与者。ParticipantId=Participant.ParticipantId在Meetings.Statuss='Open',con中选择Participant.ParticipantId,MeetingId);
rdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
while(rdr.Read()==true)
{
添加(新员工2(){Name=rdr[0].ToString(),Title=rdr[1].ToString(),Id=rdr[2].ToString()});
}
con.Close();
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message,“Error”,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
this.comboBoxWithGrid_WinformsHost1.Employee2s=员工;
}
我已尝试在按钮事件上执行此操作,但失败

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;
}
private void MyMethod()
{       
列出员工=新列表();
尝试
{
con=新的SqlConnection(cs.DBConn);
con.Open();
cmd=new-SqlCommand(“选择Participant.ParticipantName,MeetingParticipant.Title,
参与者。来自会议参与者的参与者ID
内连接
会议参与者参与者。参与者ID=
Participant.ParticipantId上的内部加入会议
MeetingParticipant.MeetingId=Meeting.MeetingId,其中
会议状态为“开放”,con);
rdr=cmd.ExecuteReader(CommandBehavior.CloseConnection);
while(rdr.Read()==true)
{
添加(新员工2(){Name=rdr[0].ToString(),Title=rdr[1].ToString(),Id=rdr[2].ToString()});
}
con.Close();
}
捕获(例外情况除外)
{
MessageBox.Show(例如Message,“Error”,MessageBoxButtons.OK,MessageBoxIcon.Error);
}
this.comboBoxWithGrid_WinformsHost1.Employee2s=员工;
}

这是我在这里的第一个问题,我是这个领域的新手。如果缺少什么,请尝试理解我的局限性。谢谢。

这不是我问题的直接答案,但我通过 用这条线

        this.comboBoxWithGrid_WinformsHost1.Employee2s.AddRange(employees);

一般认为,标准是提供任何错误消息或错误描述,而不是说“It failed”。我没有收到任何错误消息。然后请记住包括应该发生的事情和已经发生的事情之间的差异。