У меня возникли некоторые проблемы с обновлением текущих выбранных данных из источника привязки, я продемонстрирую свою проблему на следующем простом примере.
У меня есть класс
class Item
{
int id;
string Name;
int Qty;
}
в Form1, у меня есть datagridview, его источник привязки - это тип класса Item, и он называется ItemBindingSource. у меня есть кнопка btnAdd, при нажатии она выполняет следующие действия:
Item itm = new Item();
itm.ID =1;
itm.Name = "test";
itm.Qty = 1;
itemBindingSource.Add(itm);
, когда я нажимаю на btnAdd, объект элемента создается и добавляется к источнику ставок, и я также могу видеть его в сетке данных. ,
проблема здесь, у меня есть другая кнопка btnIncQty, которая при нажатии увеличивает количество на 1 текущей выбранной строки.
void btnIncQty_Onclick(object sender,EventArgs e)
{
(ItemBindingSource.Current as Item).Qty += 1;
Datagridview.Refresh();
}
что здесь происходит, если у меня есть две или более строки, добавленные в datagridview и ItemBindingSource, все количество строк увеличивается на 1, а не только текущая выбранная строка, хотя я использую ( ItemBindingSource.Current as Item) .Qty + = 1; как я указал в примере выше.
Я не могу понять, в чем проблема и почему все данные в BindingSource обновляются, а не только выбранные, может кто-нибудь посоветовать, что может быть причиной этой проблемы?
Спасибо