2013-03-14 56 views
0

我试图将datagridview中的数据显示到另一个表单的文本框中。表单2具有文本框。这里是我的代码:将datagridview中选定行的数据显示到文本框中

private void btnAddOrder_Click(object sender, EventArgs e) 
{ 
    Add_Order addOrder = new Add_Order(); 
    addOrder. 
} 

我试着键入addOrder.textBox1.Text = dtgv_Items.SelectedRows[0].Cells[1].Value.ToString();textBox1会自动显示未显示,这意味着有一个错误。我怎么能解决这个问题? :)

+0

什么是Add_Order? – coder 2013-03-14 07:05:22

+0

@coder - 它是表格2的名称:) – lexter 2013-03-14 07:05:56

+0

什么是错误? – 2013-03-14 07:11:16

回答

0

使用文本框它自己直接

textBox1.Text = dtgv_Items.SelectedRows[0].Cells[1].Value.ToString(); 
+0

textBox1在另一个表单上,这就是为什么我首先声明它。 'Add_Order addorder = new Add_Order();' – lexter 2013-03-14 07:19:02

+0

要获得并设置另一个类/表单中的文本框的值,可以使用类似的方法: public string TextBox1Text {get {return textBox1.Text; } set {textBox1.Text = value; }} – 2013-03-14 07:30:34

0

第一,第二窗体上创建getter和setter。

private string sampleData = string.Empty; 

public string SampleData 
{ 
    get { return sampleData; } 
    set { value = sampleData; } 
} 

然后你就可以在你的第一个表单上使用此:

private void btnAddOrder_Click(object sender, EventArgs e) 
{ 
    Add_Order addOrder = new Add_Order(); 
    addOrder.SampleData = dtgv_Items.SelectedRows[0].Cells[1].Value.ToString(); 
} 

要查看你的第二个窗体上的结果,使用:

this.TextBox1.Text = SampleData; 
1

这里为任何选择的一个例子cell:

Form2:

private string pVal; 

//getter and setter 
public string PassVal 
{ 
    get { return pVal; } 
    set { pVal = value; } 
} 

//or event that you need 
private void Form2_Load(object sender, EventArgs e) 
{ 
    textBox1.Text = pVal; 
} 

Form1中:

Form2 f2 = new Form2(); 

int selectedCellCount = dataGridView1.GetCellCount(DataGridViewElementStates.Selected); 

if (selectedCellCount > 0) 
{ 
    for (int i = 0; i < selectedCellCount; i++) 
    { 
     int column = dataGridView1.SelectedCells[i].ColumnIndex; 
     int row = dataGridView1.SelectedCells[i].RowIndex; 
     f2.PassVal = dataGridView1[column, row].Value.ToString(); 
    } 
} 

f2.Show(); 

用这个代码平安,你会得到来自任何选定单元格中的文本的文本框中。

希望它对你有一点帮助。

相关问题