我有一个这样的数据表

    private void button12_Click(object sender, EventArgs e)
    {   DataTable tableEC0 = new DataTable();
        tableEC0.Columns.Add("Nome", typeof(string));
        tableEC0.Columns.Add("valor", typeof(string));

        tableEC0.Rows.Add("G", readG.Text);
        tableEC0.Rows.Add("Q", readQ.Text);
        tableEC0.Rows.Add("W", readW.Text);
        tableEC0.Rows.Add("Tipodeverificacao", tipodeverificacao);
     }

当我单击button12时,它会很好地更新,但是我想使其更好,并尝试使其自动更新,因此我将其移至

public partial class Form1 : Form
{ // same exact table
}

这样,该表将成为form1范围内必须的,并且可能会在每个操作上进行更新。.它并没有成功,因为当我更改变量readG.Text时,该表就已经存在,因为它取了值早期的程序,没有更新值。

我坚决要创建一个将更新表并重复“添加”的行和列的按钮,但是有没有更简单,更省时的方法呢? 例如,“在每个动作上重新加载值”?

另一个问题是,如果我创建其他表单来显示当前数据表,该如何在其中使刚创建的表成为可访问表,并将表保持在表格1中?

(我对获取,设置一无所知,因此,如果有人能以简单的方式解释这些“命令”,我将非常感激)

===============>>#1 票数:1 已采纳

如果我正确理解您的问题,这可能是实现您所需要的一种方法:

public partial class Form1 : Form
{ 
    DataTable tableEC0 = new DataTable(); // central table 

    public Form1()
    {
        InitializeComponent();

        // initialize your table with the columns needed
        tableEC0.Columns.Add("Nome", typeof(string));
        tableEC0.Columns.Add("valor", typeof(string));

        // hookup textbox
        readG.TextChanged += readG_TextChanged;
        readQ.TextChanged += readQ_TextChanged;
        readW.TextChanged += readW_TextChanged;
    } 

    // refactored to one call
    private void button12_Click(object sender, EventArgs e)
    {      
        UpdateAll();
    }

    // hookup this method to the TextBox_Changed event 
    private void readG_TextChanged(object sender, EventArgs e)
    {
        Update("G", (TextBox) sender);
    }

    private void readQ_TextChanged(object sender, EventArgs e)
    {
        Update("Q", (TextBox) sender);
    }

    private void readW_TextChanged(object sender, EventArgs e)
    {
        Update("W", (TextBox) sender);
    }

    // update all values
    private void UpdateAll()
    {
        Update("G", readG.Text);
        Update("Q", readQ.Text);
        Update("W", readW.Text);
        Update("Tipodeverificacao", tipodeverificacao);
    }

    // update from a textbox event
    private void Update(string key, TextBox txtBox)
    {
         Update(key, txtBox.Text);
    }

     // update (or insert in new) a row in your table
     private void Update(string key, string value)
     {
        // find a row
        var rows = tableEC0.Select(
                   String.Format("'Nome'='{0}'", key));
        if (rows.Length==1)  
        {
             // found, update
             rows[0]["valor"]= value;
        } 
        else if(rows.Length > 1)
        {
             throw new Exception("huh? too many rows found");
        }
        else
        {
             // not found, add
              tableEC0.Rows.Add(key, value);
        }
     }
}

  ask by César Amorim translate from so

未解决问题?本站智能推荐:

1回复

更新数据表

我正在尝试更新作为数据集一​​部分的数据表。 我使用DataRow搜索表,然后将值传递到DataRow中以更新到DataSet,但是这不起作用,有人可以告诉我我要去哪里了吗?
4回复

如何更新数据表中的所有自动增量列?

我有一个带有“ Id”列的数据表,该列是我们的SQL Server 2005数据库中的一个标识列。 此列的AutoIncrement属性设置为true。 我不使用数据库中的数据填充表,因为我仅将其用于插入,因此它将分配从1开始的虚假ID。 但是,在调用tableAdapter.Upda
1回复

数据表查询以更新表

我有一个包含以下字段的数据表: ID,宽度,VALUE 我有一个表格可以动态填充,具体取决于用户单击添加字段按钮的次数,以及用户何时单击并将所有字段信息存储到数据表中,然后在用户点击“提交”时在最后添加字段。希望能够采用整个表单集合并根据控件的ID用value列更新我的数据表,并输入
1回复

更新数据表的最快方法

假设我们有一个包含100列和100行的DataTable。 我们有一个这样的值字典,其中包含100个成员: 在上面的字典中,键是数据表的索引,字典的值是我们要在数据表中更新的目标值。 更新数据表的最快方法是什么? 我用这种方式,但是很慢: 假设我们必须更新40列的所有行
3回复

联接和更新数据表

我有两个Table1和Table2,其列的值如下所示:这是两个表:我想更新Table1中的“ PaidAmount”。 基于两个表中的“ InvoiceNo”列进行联接。 表格1: 表2: 我想要的数据表应该是这样的: DesiredTable: 如何取得这
1回复

用另一个更新数据表

我有2个C#数据表,我想要更新的主(datatable1)有很多行,但第二个只包含几个独特的行。 以下是我想要实现的目标。 我已经搜索过使用循环和LINQ找到一种方法,但似乎没有更新ECAD列。 我试过这个。
2回复

数据表更新问题

保存数千行并执行某些操作后对其进行更新的最佳方法是什么。 目前,我使用数据表填充后,通过 在MyDataTable上进行一些更改之后,我再次使用MyDataAdapter.Update(MyDataTable)方法。 编辑: 很抱歉没有提供更多信息。 一个XML文
1回复

更新数据表中的值

每当将相同的书名插入购物车时,我都在尝试更新数据表。 数量的初始值为1,但是当提交按钮时,数量仍然为1,但是当它第三次进入时,数量仅开始增加1。 我不明白错误在哪里? 编辑:: 类::
4回复

从另一个数据表更新数据表中的值

有什么方法可以从另一个数据表更新一个数据表中的值。 例如,假设我有两个数据表dt1和dt2。 如上所示,我有两个数据表,我必须用第二个数据表中的newtable_name列值替换第一个数据表中的table_name列值,并使用两个数据表中都通用的table_name映射。
1回复

在实体框架中将数据表更新为多个表

我创建了一种方法,可以通过实体框架将数据表中的数据从数据表添加到数据库中的表中,但是它只允许我填充一个表,而我想在一个方法中填充多个表。 以下是我添加到学生表中的方法,并且我注释掉了模块表,因为当我添加此表时,没有数据传输到数据库。 有人可以推荐一种可以在此方法中填充多个表的方法吗?