2016-01-19 86 views
1

我試圖將數據從DataGridView填充到TextBoxes中,這些數據位於不同的form上。我可以填寫與DataGridView形式相同的TextBoxes。我不確定如何引用其他表單? 我的代碼:從datagridview中的數據填充不同形式的文本框

var value = dgvInfo.Rows[e.RowIndex].Cells["Description"].Value; 

if (value != null) 
{ 
    txtDescription.Text = value.ToString(); 
} 

編輯1: 可能重複的問題與傳遞數據從一個TextBox到另一個交易。在我的問題中,它將數據從DataGridView傳遞到TextBox

+0

是您的第二個表格已經打開?或者您首先打開按鈕單擊窗體然後填充? –

+0

嗨,謝謝,它的一個按鈕點擊,然後打開第二個表格 – AndroidAL

回答

1

Value作爲構造參數到目的地的形式(例如Form4):

private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e) 
{ 
    Form4 fr = new Form4(dgvInfo.Rows[e.RowIndex].Cells["Description"].Value.ToString()); 
    fr.ShowDialog(); 
}  

而在目的地的形式:

public Form4(string p) 
{ 
    InitializeComponent(); 
    txtDescription.Text = p; 
} 

要傳遞一個以上的價值爲另一種形式,你應該使用a List是這樣的:

private void button1_Click(object sender, EventArgs e) 
{ 
    List<string> lst = new List<string>(); 

    foreach (DataGridViewRow row in dgvInfo.SelectedRows) 
    { 
     var Value = row.Cells["Description"].Value.ToString(); 
     if (!string.IsNullOrWhiteSpace(Value)) 
     { 
      lst.Add(Value); 
     } 
    } 
    Form4 fr = new Form4(lst); 
    fr.ShowDialog(); 
} 

然後在目的地形式:

public Form4(List<string> p) 
{ 
    InitializeComponent(); 
    txtDescription.Text = p[0]; 
    textBox1.Text = p[1]; 
} 
+0

再次感謝,如果有更多的'ROW'和'文本框'? – AndroidAL

+1

@AndroidAL ..運行項目,選擇兩行例如然後點擊按鈕。 –