如何在另一个表单的DataGridView中显示数据?

时间:2015-05-22 18:03:50

标签: c# winforms datagridview

我想在DataGridView中显示位于form1且数据位于form2的数据。 Form2有一个名为“ADD”的按钮,用于添加form1网格中的所有数据。以下代码适用于同一表单,如何编辑此代码以显示其他表单中的数据。

private void btn_Add_Click(object sender, EventArgs e)
    {
        InputUserInfo frm1 = new InputUserInfo();

        frm1.dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
        frm1.dataGridView1.RowTemplate.Height = 120;
        frm1.dataGridView1.AllowUserToAddRows = false;

        int numberOfRows = frm1.dataGridView1.Rows.Count;
        if (numberOfRows < 5)
        {
            MemoryStream ms = new MemoryStream();
            thumb_pic.Image.Save(ms, thumb_pic.Image.RawFormat);
            byte[] img = ms.ToArray();
            frm1.dataGridView1.Rows.Add(lbl_CP_UserID.Text, lbl_CP_Name.Text, img);

        }
        else
        {
            MessageBox.Show("Please insert Only 5 Images");
        }
        this.Hide();
        frm1.Show();

    }

1 个答案:

答案 0 :(得分:0)

也许您已经找到了解决方案,但这可能会对将来有所帮助。

带格子的表格(见图Form1

此表格背后的代码:

    public Form1()
    {
        InitializeComponent();
    }

    public DataGridView DataGridView1
    {
        get
        {
            return dataGridView1;
        }
    }

    private void btnAddItems_Click(object sender, EventArgs e)
    {
        Form2 frm = new Form2(this);
        frm.TopMost = true;
        frm.ShowDialog();
    }

表单(参见图片Form2)将数据添加到Form1 dataGridView

此表格背后的代码:

    public Form1 frm1;

    public Form2(Form1 gridForm)
    {
        InitializeComponent();
        frm1 = gridForm;
    }

    private void btnAdd_Click(object sender, EventArgs e)
    {

        if (frm1.DataGridView1.Rows.Count < 5)
        {
            frm1.DataGridView1.Rows.Add(txtOrderNo.Text, txtDesc.Text);
            frm1.DataGridView1.Refresh();
            txtOrderNo.Text = txtDesc.Text = "";
            if (frm1.DataGridView1.Rows.Count == 5) this.Close();
        }
        else
        {
            MessageBox.Show("You can only add up to 5 items.");
        }

    }

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