получение значения из другого столбца, кроме столбца valuemember в ультракомбо Infragistics - PullRequest
1 голос
/ 17 декабря 2008

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

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

В частности, я хочу взять из своего ультракомбокса значение из столбца фамилии, когда выбрана строка, и поместить его в текстовое поле. Приведенный ниже код, который я до сих пор выполняю, перезапускает столбец заголовка (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 = 'account'", чтобы уточнить, что делает мой код, но на самом деле он не в этой части кода.

Пожалуйста, помогите

Ответы [ 2 ]

4 голосов
/ 15 января 2009

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

Возможно, вы захотите избежать жесткой привязки индекса к вашей ячейке, если позиция изменится в будущем, когда вы добавите новые данные в источник данных сетки. Допустим, вы вставили еще один столбец перед lastName, теперь ваши .Cells (5) будут возвращать неверные данные.

Вместо этого попробуйте использовать ячейки ("columnName") для доступа, подобного этому:

LastName = ucboPatientInfo.Cells("LastName").Value

Вы также должны попытаться использовать объекты EventArgs и Sender в вашем событии и избегать прямого контроля. Таким образом, ваш код может выглядеть следующим образом:

LastName = e.Row.Cells("LastName").Value.ToString()

Рад видеть ваши дела в любом случае.

0 голосов
/ 18 декабря 2008

найдена правильная комбинация:

LastName = ucboPatientInfo.Cells(5).Value
...