2010-07-21 6 views
0

У меня есть Devexpress Gridview, связанный с хранимой процедурой удаления, извлечения и обновления. Проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю свою программу, выберите строку в сетке и нажмите delete, она вызывает событие несколько раз. В частности, он удаляет выбранную строку, а затем повторно извлекает данные, поэтому фокус возвращается к первой строке. Это то, что я хочу. К сожалению, он начинается в начале моего списка и спускается по нему подряд, удаляя каждую строку. Затем он продолжается еще несколько раз после удаления строк. Я знаю это, потому что для каждой удаленной строки он спрашивает меня, хочу ли я удалить его. Если я скажу «нет», строки будут исчезать, пока я не обновляю их вручную после удаления. Чтобы сделать это еще более случайным, вторая строка всегда появляется снова, когда я вручную обновляю сетку.Событие удаления Devexpress Gridview несколько раз срабатывает

Я видел, что большинство людей, у которых была эта проблема в Интернете, соответствовало событию, связанному с несколькими объектами, но я не создаю actionlistener сам код дизайнера сделал это один раз, и я настроил его так же, как всегда , Кроме того, я попытался отладить это (Visual Studio 2008), и он не останавливается на контрольных точках, даже если он печатает строку непосредственно под линией.

EDIT:

я сузил проблему. Раньше я не упоминал, но у меня есть твилист, который отображает имена отделов и их сотрудников. При щелчке департамента отображается сетка, упомянутая выше, в правой панели окна. Когда программа запускается первым, исполнитель действия удаления просто запускается один раз. Когда я выбираю второй отдел, выберите строку в сетке, которую он запускает дважды. В основном каждый раз, когда я выбираю другой отдел, есть другое удаление. Поэтому, если я выбрал другой отдел 5 раз, то, когда я пытаюсь удалить строку, удаление будет уволено 5 раз.

ответ

1

Итак, я нашел свой ответ, и я надеюсь, что это может помочь кому-то.

В основном я устанавливаю хранимую процедуру в пределах той же функции, которая устанавливает правую панель при нажатии на отдел. Поэтому, когда я нажимаю на отдел в treelist, он снова настроит сетку. Таким образом, он каждый раз воссоздавал его. Чтобы решить, я просто переместил создание сетки и основной функции в начале, которая вызывается только один раз.

Смежные вопросы