2013-03-14 57 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(); 

用這個代碼平安,你會得到來自任何選定單元格中的文本的文本框中。

希望它對你有一點幫助。

相關問題