Нет событий при изменении в пользовательском интерфейсе - PullRequest
0 голосов
/ 05 декабря 2011

Я работаю над проектом, и мы используем Infragistics в качестве сторонней управляющей библиотеки. Мы не предоставили никакой документации по проекту, и я знаю только то, что они использовали шаблон проектирования MVP. Сейчас я пытаюсь отладить приложение на основе поставленной мне задачи.

У меня есть пользовательская сетка (в основном из Infragistics), и у нее есть три столбца "ColA, ColB, ColC". ColB и ColC имеют комбинированные списки. ColB и ColC уже привязаны к источнику данных. Когда я изменяю выбранный элемент в комбинированном списке ColB на основе выбора в ColB, комбинированная коллекция ColC уточняет себя (удаляет несколько элементов на основе значения в ColB). Здесь мне нужно изменить логику в уточнении коллекции для ColC на основе выбранного значения ColB. Но я не в состоянии, так как не уверен, где происходит уточнение. Я попытался установить точки останова, но при изменении значения в ColB не происходит никаких событий, и поэтому я не знаю кодов, связанных с уточнением.

Я знаю, что вопрос специфичен для моего проекта, но в чем заключается мой вопрос, есть ли способ получить коды, основанные на действиях, предпринятых мной в пользовательском интерфейсе, кроме точек останова? Или есть какой-то подход, которому я должен следовать в этой ситуации? Я не очень хорош в инструментах отладки.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 декабря 2011

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

0 голосов
/ 07 декабря 2011

Трудно сказать, какое событие используется для обновления выпадающего списка в ячейке. Если у вас есть источники, проверьте эти события UltraGrid для уточнения кода.

События сработали после изменения colB:

  1. CellChange
  2. AfterExitEditMode
  3. AfterCellUpdate
  4. AfterRowUpdate

События срабатывают за до , пользователь увидит расширенный комбинированный список столбца colC:

  1. BeforeEnterEditMode
  2. BeforeCellListDropDown

Также попробуйте небольшой тест. Например, у вас есть эти зависимости между colB и ColC:

  • B1 => C1a, C1b, C1c
  • B2 => C2a, C2b

Установите colB = B1 и colC = C1b. Теперь переключитесь на другую строку, вернитесь к этой строке и измените colB на B2. Если значение в colC изменяется, вы должны посмотреть на события, запущенные после смены ячейки. Если ничего не произошло - ваш код может быть в обеих группах событий.

Также вы можете попытаться найти в вашем коде термин ValueList - этот код, скорее всего, использует это свойство ячейки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...