У меня есть BindingList в качестве источника данных и элемента управления сеткой,
если пользователь удаляет строку в сетке, я хочу, чтобы он получил подтверждение (например, окно сообщения),
элемент управления сеткой, который я использую (и я предполагаю, что большинство из них), вызовите RemoveAt (int index), метод Collection
который имеет возвращаемое значение void, даже если я унаследую от bindingList, переопределю метод или предоставлю новую реализацию для него (и других), это не поможет, потому что у сетки нет способа узнать, что пользователь решил отменить операция ...
Есть ли способ обойти проблему, используя только привязку данных и список привязки запаса, контроль сетки?
Обходной путь, который я сделал:
а. наследовать форму BindingList, реализовать ICancellableRemoving (которая содержит один «bool RemoveItem (объектный элемент)».
б. наследовать от сетки, переопределить метод удаления (или аналогичный), проверить, реализует ли источник данных ICancellableRemoving, если это так, вызвать метод, проверить результат и соответственно отменить / продолжить операцию.
P.S
Я реализовал интерфейс, потому что единственный метод «Remove *» в BindingList, который имеет возвращаемое значение bool, - это Remove (T Item) из Collection, и он является общим ... сетка не является;)
Спасибо заранее,
Эрик.