получение значения из другого столбца, помимо столбца valuemember в Infragistics ultracombo
-
22-08-2019 - |
Вопрос
Я довольно новичок в использовании элементов управления инфраструктурой (начал вчера).Хотя они (очень) впечатляют, они добавляют еще один уровень сложности, в котором я пытаюсь разобраться.Итак, я спрашиваю о том, что, на мой взгляд, является довольно простым вопросом:
Я пытаюсь получить значение из другого столбца, помимо того, который отображается в выпадающем списке.До сих пор все мои попытки захватывали только значение столбца заголовка, а не значение в выбранном столбце строки.
В частности, я хочу взять из моего ультракомбокса значение из столбца lastname при выделении строки и поместить его в текстовое поле.Приведенный ниже код, который у меня есть до сих пор, повторяет столбец заголовка (LastName) и ничего больше, независимо от того, какую строку я выбираю.
Private Sub ucboPatientInfo_RowSelected(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.RowSelectedEventArgs) Handles ucboPatientInfo.RowSelected
ucboPatientInfo.ValueMember = "accounts"
LastName = ucboPatientInfo.SelectedRow.Band.Columns(1).ToString
Я добавил:"ucboPatientInfo.ValueMember = 'accounts'" чтобы помочь прояснить, что делает мой код, на самом деле этого нет в этой части кода.
Пожалуйста, помогите
Решение 2
найдено правильное сочетание:
LastName = ucboPatientInfo.Cells(5).Value
Другие советы
Похоже, вы нашли рабочее решение своей собственной проблемы.Я подумал, что просто добавлю еще немного информации и вещей, которые следует рассмотреть.
Возможно, вы захотите избежать привязки жесткого индекса к вашей ячейке на случай, если положение изменится в будущем по мере добавления новых данных в источник данных сетки.Допустим, вы вставляете другой столбец перед LastName, теперь ваш .Ячейки (5) вернут неверные данные.
Вместо этого попробуйте использовать ячейки ("ColumnName") для доступа следующим образом:
LastName = ucboPatientInfo.Cells("LastName").Value
Вам также следует попытаться использовать объекты EventArgs и sender в вашем событии и избегать прямого обращения к управлению.Таким образом, ваш код мог бы выглядеть следующим образом:
LastName = e.Row.Cells("LastName").Value.ToString()
В любом случае рад видеть, что у вас все получается.