簡體   English   中英

獲取datagridview行數據到另一個窗體上的文本框

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM