在数据集

时间:2018-01-18 08:04:45

标签: c# dataset

我毫无疑问地获得了我的价值。问题是,它总是以相同的值更新数据表中的第一条记录和当前记录。

我的代码:

  public partial class Form2 : Form
  {
    public int InventoryId = 0;
    private DataRow CurrentRow;

    public Form2()
    {
      InitializeComponent();
    }

    private void SaveItem_Click()
    {
      this.Validate();
      this.inventoryBindingSource.EndEdit();
      this.tableAdapterManager.UpdateAll(this.garysInventoryDataSet);
    }

    private void Form2_Load(object sender, EventArgs e)
    {
      this.inventoryTableAdapter.Fill(this.garysInventoryDataSet.Inventory);

      CurrentRow = (from x in garysInventoryDataSet.Inventory
        where x.InventoryId == InventoryId
        select x).FirstOrDefault();

      if (CurrentRow == null)
      {
        MessageBox.Show("Inventory Item Not Found.");
      }

      yearToDateQuantityTextBox.Text = CurrentRow["YearToDateQuantity"].ToString();
    }

    private void button3_Click(object sender, EventArgs e)
    {
      CurrentRow["YearToDateQuantity"] = Convert.ToInt32(CurrentRow["YearToDateQuantity"]) + 1;
      yearToDateQuantityTextBox.Text = CurrentRow["YearToDateQuantity"].ToString();
    }

    private void button2_Click(object sender, EventArgs e)
    {
      CurrentRow["YearToDateQuantity"] = Convert.ToInt32(CurrentRow["YearToDateQuantity"]) - 1;
      yearToDateQuantityTextBox.Text = CurrentRow["YearToDateQuantity"].ToString();
    }

    private void Form2_FormClosing(object sender, FormClosingEventArgs e)
    {
      SaveItem_Click();
    }
  }

我似乎无法找出为什么它也在更新第一条记录。我在CurrentRow中获得了正确的值,但是当它保存它时,我的第一行被覆盖,当前行也被覆盖。

1 个答案:

答案 0 :(得分:0)

我没有意识到这一点,但我的文本框仍然是部分绑定的。我删除了文本框并重新创建它,它开始正常工作。