![](/img/trans.png)
[英]Displaying data from a DataGridView on one Form into TextBoxes on another
[英]getting datagridview row data to textboxes on another form
我有一個datagridview在列中顯示我的數據。 我要完成的工作是,在選擇一行並按下“編輯”按鈕后,新表格將打開並拆分該行,以顯示正確的文本框以更新數據。
datagridview行顯示不同類型的數據:名稱,電子郵件,日期等。
任何想法? 提前致謝!
該站點說明了如何在表單之間發送數據,就像在數據網格中選擇正確的單元格,然后將所有信息發送到正確的文本框一樣簡單。 然后將它們發回。 表格之間的數據
基礎知識是創建一種可用於獲取值的方法,
public string getTextBoxValue()
{
return TextBox.Text;
}
那么您可以調用方法在表單之間傳遞數據,
this.Text = myForm2.getTextBoxValue();
但是,您將發送單元格的值,並將使textbox.text等於方法的返回值,這是該理論的一個基本示例,請嘗試自己使其能夠實現所需的功能如果您做不到,那就返回並尋求幫助,並對代碼進行錯誤的編輯,但前提是您必須先嘗試一下
您可以創建一個類,例如MyDataCollection,其類具有與DataGridView列相對應的屬性。 當您按下“編輯”按鈕時,創建該類的新實例,用必要的數據填充它,並將其作為參數傳遞給EditForm的構造函數。
public class MyDataCollection
{
public string Name;
public string Email;
// --
}
在您的主要形式中:
void btnEdit_Click(object sender, EventArgs e)
{
// Create the MyDataCollection instance and fill it with data from the DataGridView
MyDataCollection myData = new MyDataCollection();
myData.Name = myDataGridView.CurrentRow.Cells["Name"].Value.ToString();
myData.Email = myDataGridView.CurrentRow.Cells["Email"].Value.ToString();
// --
// Send the MyDataCollection instance to the EditForm
formEdit = new formEdit(myData);
formEdit.ShowDialog(this);
}
並且編輯表單應如下所示:
public partial class formEdit : Form
{
// Define a MyDataCollection object to work with in **this** form
MyDataCollection myData;
public formEdit(MyDataCollection mdc)
{
InitializeComponent();
// Get the MyDataCollection instance sent as parameter
myData = mdc;
}
private void formEdit_Load(object sender, EventArgs e)
{
// and use it to show the data
textbox1.Text = myData.Name;
textbox2.Text = myData.Email;
// --
}
}
您也可以忽略MyDataCollection類,並將整個DataGridViewRow傳遞給formEdit的構造函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.