none
VS2010 BindingNavigatorDeleteItem RRS feed

  • Вопрос

  • Здравствуйте!

    Кнопки на BindingNavigator (в частности BindingNavigatorDeleteItem) выполняют назначенное им действие, даже если им не назначено мной никаких событий. Как отловить это действие, в частности, мне надо чтобы при определенных условиях кнопка BindingNavigatorDeleteItem не работала (не удаляла строки  из DataGridView)?

    10 июня 2012 г. 18:29

Ответы

  • Ну попробуйте не Click, а MouseDown. Должно произойти до удаления.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Abolmasov Dmitry 15 июня 2012 г. 12:05
    15 июня 2012 г. 9:18
    Отвечающий
  • Примерно так:

    ' Этоу строку ставим в месте, где хотим подписаться на события нажатия кнопки удалить.
    ' Вместо BindingNavigator1 указываем BindingNavigator из нужной строки
    AddHandler CType(BindingNavigator1.DeleteItem, ToolStripButton).Click, AddressOf BindingNavigator1_DeleteClick
    
    Private Sub BindingNavigator1_DeleteClick()
     'Здесь ваши действия
    End Sub


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Abolmasov Dmitry 15 июня 2012 г. 12:05
    14 июня 2012 г. 6:19
    Отвечающий

Все ответы

  • Не то что вам нужно?

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    10 июня 2012 г. 20:51
    Отвечающий
  • Я делал по инструкции, приведенной в вами указанной статье, но у меня не получилось-BindingSource не включал кнопку DeleteItem каждый раз при изменении текущей записи, в некоторых записях эта кнопка нужна! (правда у меня был DataGridView вместо

    DataRepeater, но это, по-моему, несущественно)

    Поскольку мне надо было сделать, чтобы нельзя было удалить 0-ю строку, я вышел из положения по-другому – я использовал событие BindingNavigatorPositionItem_TextChanged, в нем проверяю номер записи и в зависимости от этого я делаю BindingNavigatorDeleteItem.Enabled = False

    или BindingNavigatorDeleteItem.Enabled = true





    11 июня 2012 г. 11:44
  • А все-таки интересно, какие события отвечают за действие кнопок BindingNavigator?
    11 июня 2012 г. 18:02
  • А все-таки интересно, какие события отвечают за действие кнопок BindingNavigator?
    Так, как я понял у BindingNavigator есть свойство DeleteItem, которое возвращает объект типа ToolStripButton. Приводим свойство к нужному типу и подвязываемся к событию Click.

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    13 июня 2012 г. 7:57
    Отвечающий
  • Я не очень понял ваши слова, можно пример кода, пожалуйста.
    13 июня 2012 г. 18:19
  • Вы на каком языке пишите? Просто я пишу на VB. Подойдет?

    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    13 июня 2012 г. 18:22
    Отвечающий
  • Да, конечно. Я тоже пишу на VB

    13 июня 2012 г. 19:55
  • Примерно так:

    ' Этоу строку ставим в месте, где хотим подписаться на события нажатия кнопки удалить.
    ' Вместо BindingNavigator1 указываем BindingNavigator из нужной строки
    AddHandler CType(BindingNavigator1.DeleteItem, ToolStripButton).Click, AddressOf BindingNavigator1_DeleteClick
    
    Private Sub BindingNavigator1_DeleteClick()
     'Здесь ваши действия
    End Sub


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Abolmasov Dmitry 15 июня 2012 г. 12:05
    14 июня 2012 г. 6:19
    Отвечающий
  • Не забудьте отметить решение проблемы, когда закроете вопрос. Спасибо.


    Для связи [mail]

    14 июня 2012 г. 6:49
  • Я сделал, так как вы сказали (поставил AddHandler в событие загрузки формы, в которой находится BindingNavigator по имени BindingNavigator1). Событие удаления сроки перехватывается, но после уже удаления! А мне-то надо до удаления, чтобы предпринять какие-то действия!
    15 июня 2012 г. 8:58
  • Ну попробуйте не Click, а MouseDown. Должно произойти до удаления.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Помечено в качестве ответа Abolmasov Dmitry 15 июня 2012 г. 12:05
    15 июня 2012 г. 9:18
    Отвечающий
  • Вот это помогло! Спасибо!
    15 июня 2012 г. 12:01