我毫无疑问地获得了我的价值。问题是,它总是以相同的值更新数据表中的第一条记录和当前记录。
我的代码:
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中获得了正确的值,但是当它保存它时,我的第一行被覆盖,当前行也被覆盖。
答案 0 :(得分:0)
我没有意识到这一点,但我的文本框仍然是部分绑定的。我删除了文本框并重新创建它,它开始正常工作。