如何添加行到另一个窗体上的datagridview [英] How to add row to datagridview situated on another form
问题描述
第二个表单的目的地是向这个datagrid添加一些参数,如1,2和3列的文本
此代码工作
private void MainForm_Load(object sender,EventArgs e)
{
dgvTasks.Rows.Add(s1 ,s2,s3);
}
但是当我将此代码放到另一个表单上时工作
//MainForm
public void addRowToDataGridView(string type,string title,string time )
{
dgvTasks.Rows.Add(type,title,time);
}
//ParametersForm
public static MainForm fm = new MainForm();
private void BtnSave_Click(object sender,EventArgs e)
{
fm.addRowToDataGridView(s1,s2,s3);
}
没有错误。只是沉默,行不添加。
可以帮助我吗?
MainForm fm = new MainForm();
这样,当您为MainForm创建实例对象时,您创建了另一个MainForm。
您应该获得有效的MainForm。所以你应该保持活动的MainForm实例。
//MainForm
public static MainForm MainFormRef {get;私人集合}
public Form1()
{
InitializeComponent();
MainFormRef = this;
}
public void addRowToDataGridView(string type,string title,string time)
{
dgvTasks.Rows.Add(type,title,time);
}
//ParametersForm
private void btnSave_Click(object sender,EventArgs e)
{
var fm = MainForm。 MainFormRef;
fm.addRowToDataGridView(s1,s2,s3);
}
i have two form applictaion. and i have datagrid with three string columns on the "MainForm". the destination of the second form is to add rows to this datagrid with some parametres such as text of the 1,2 and 3 columnns
this code works
private void MainForm_Load(object sender, EventArgs e)
{
dgvTasks.Rows.Add("s1", "s2", "s3");
}
but when i drop this code to another form it doesn't work
//"MainForm"
public void addRowToDataGridView(string type, string title, string time)
{
dgvTasks.Rows.Add(type, title, time);
}
//"ParametersForm"
public static MainForm fm = new MainForm();
private void btnSave_Click(object sender, EventArgs e)
{
fm.addRowToDataGridView("s1", "s2", "s3");
}
no errors. just silent and rows don't add. can smb help me?
MainForm fm = new MainForm();
This way , You created another MainForm when you create instance object for MainForm.
You should attain active MainForm. So you should hold the active MainForm instance.
//"MainForm"
public static MainForm MainFormRef { get; private set; }
public Form1()
{
InitializeComponent();
MainFormRef = this;
}
public void addRowToDataGridView(string type, string title, string time)
{
dgvTasks.Rows.Add(type, title, time);
}
//"ParametersForm"
private void btnSave_Click(object sender, EventArgs e)
{
var fm = MainForm.MainFormRef;
fm.addRowToDataGridView("s1", "s2", "s3");
}
这篇关于如何添加行到另一个窗体上的datagridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!