получение значения из другого столбца, помимо столбца valuemember в Infragistics ultracombo

StackOverflow https://stackoverflow.com/questions/375348

Вопрос

Я довольно новичок в использовании элементов управления инфраструктурой (начал вчера).Хотя они (очень) впечатляют, они добавляют еще один уровень сложности, в котором я пытаюсь разобраться.Итак, я спрашиваю о том, что, на мой взгляд, является довольно простым вопросом:

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

В частности, я хочу взять из моего ультракомбокса значение из столбца 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()

В любом случае рад видеть, что у вас все получается.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top