如何将一行数据从表单传递到另一个表单

时间:2018-01-26 09:59:45

标签: c#

我有2个表格

表单1匹配数据。如果数据与数据表中的数据匹配,那么它将加载并传递数据行以形成2。

表单2仅用于在文本框中显示数据。

任何人都可以提供帮助吗?

添加:因为我的老板说消息框字体太小了....

以下是我的代码 Form1中

DataTable dt3 = new DataTable();

MySqlCommand com3 = new MySqlCommand("Select EmpNo , PrizeNo , TableNo , Year , EmpName From attendance2018 where Year=3 and Remark!='(Absent)'",con);

MySqlDataAdapter da3 = new MySqlDataAdapter(com3);
con.Open();

da3.Fill(dt3);

List<string> year3 = dt3.AsEnumerable().Select(x => x[0].ToString()).ToList();


for (int i = 0; i < year3.Count; i++)
{
    if (year3[i].ToString().Trim().Equals(txtEmployeeID.Text))
    {
        txtStatusInsert.Visible = false;
        picsuccess.Visible = false;
        MessageBox.Show("The following Employee Table number is " + dt3.Rows[i]["TableNo"] + " and Number is " + dt3.Rows[i]["PrizeNo"], "Remind", MessageBoxButtons.OK);
        Form2 form2 = new Form2();   <----- Do i need to add something to here?
        form2.Show();
    }
}

表格2

public partial class Form2 : Form
{
    private Attendance pass = new Attendance();
    public Form2()
    {
        InitializeComponent();
        txtName.Enabled = false;
        txtPrzNo.Enabled = false;
        txtTableNo.Enabled = false;
        txtYear.Enabled = false;
    }

    private void btnOK_Click(object sender, EventArgs e)
    {
        this.Close();
    }
}

2 个答案:

答案 0 :(得分:0)

您需要将要传递的变量添加到对新表单的调用的括号中,如下所示:

Form2 form2 = new Form2("variable here");

现在,在新表单中,我们需要将变量添加到表单构造函数的括号中,因为它将期望传递变量。

public Form2("here")
{
    InitializeComponent();
    txtName.Enabled = false;
    txtPrzNo.Enabled = false;
    txtTableNo.Enabled = false;
    txtYear.Enabled = false;
}

现在可以将new中的元素设置为从第一个传递的变量。例如:

public Form2(type Variable)
{
    InitializeComponent();
    txtBoxExample.Text = Variable.data;
}

答案 1 :(得分:0)

基本上,有很多方法可以实现这一目标。

在表单2上,您可以创建一种从表单1获取数据的方法 例如: 表格1

int a = 11;
Form2 form2 = new Form2();
from2.getData(a);

Form2

public partial class Form2 : Form
{
    private int my_number;
    public void getData(int input){
        my_number = input;
    }
}

或者只是简单地使用Form 2构造函数 例如: 表格1

int a = 11;
Form2 form2 = new Form2(a);

Form2

public partial class Form2 : Form
{
    private int my_number;
    public Form2(int input)
    {
        InitializeComponent();
        txtName.Enabled = false;
        txtPrzNo.Enabled = false;
        txtTableNo.Enabled = false;
        txtYear.Enabled = false;
        my_number = input;
    }
}