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”。我没有收到任何错误消息。然后请记住包括应该发生的事情和已经发生的事情之间的差异。