【问题标题】:getting datagridview row data to textboxes on another form将datagridview行数据获取到另一个表单上的文本框
【发布时间】:2012-05-02 09:43:02
【问题描述】:

我有一个数据网格视图,可以在列中显示我的数据。 我想要完成的是,在选择一行并按下编辑按钮后,将打开一个新表单并将该行拆分为正确的文本框以更新数据。

datagridview 行显示不同类型的数据:姓名、电子邮件、日期等...

有什么想法吗? 提前致谢!

【问题讨论】:

  • 您的问题到底是什么?你已经尝试过了吗?

标签: c# winforms datagridview


【解决方案1】:

这个网站解释了如何在表单之间发送数据,就像在数据网格中选择正确的单元格一样简单,将信息发送到正确的文本框,对于所有这些。然后将它们送回。 Data between forms

基础是创建一个可以用来获取值的方法,

    public string getTextBoxValue()
{
    return TextBox.Text;
}

那么你可以只调用方法在表单之间传递数据,

this.Text = myForm2.getTextBoxValue();

但是,您将发送单元格的值,并使 textbox.text 等于方法的返回 这是该理论的一个基本示例,请自己尝试一下,使其按您想要的方式工作,如果您无法做到,请返回并寻求帮助并错误地编辑代码,但只有在您尝试过之后先做自己

【讨论】:

  • @sasib 想从数据网格视图中获取数据并分配给相应的文本框,您正在返回文本框数据
  • 我还解释了它只是如何做到这一点的理论,他应该自己尝试使用数据网格,教一个人钓鱼等等
【解决方案2】:

您可以创建一个类,例如 MyDataCollection,其属性对应于您的 DataGridView 列。当你按下 Edit 按钮时,创建这个类的一个新实例,用必要的数据填充它,并将它作为参数传递给 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 的构造函数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-26
    • 1970-01-01
    • 1970-01-01
    • 2011-03-11
    • 2013-11-11
    • 2017-06-01
    相关资源
    最近更新 更多