Infragistics Ultracombo의 Valuember Column 외에 다른 열에서 가치 얻기
-
22-08-2019 - |
문제
나는 Infragistics Controls (어제 시작)를 사용하는 데 상당히 익숙하지 않습니다. 그들은 (매우) 인상적이지만 그들은 복잡성의 또 다른 층을 추가합니다. 그래서 나는 상당히 간단한 문제라고 생각하는 것을 묻습니다.
Combobox에 표시되는 것 외에 다른 열에서 값을 얻으려고합니다. 지금까지 내 모든 시도는 선택한 행 열의 값이 아닌 헤더 열의 값 만 잡았습니다.
특히 Ultracombobox에서 행을 선택할 때 마지막 이름 열의 값을 가져 와서 텍스트 상자에 넣고 싶습니다. 아래 코드는 지금까지 헤더 열 (마지막 이름)을 개조하고 어떤 행을 선택하든 다른 것은 없습니다.
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
다른 팁
자신의 문제에 대한 작업 솔루션을 찾은 것 같습니다. 더 많은 정보와 고려해야 할 사항을 추가 할 것이라고 생각했습니다.
그리드의 데이터 소스에 새 데이터를 추가 할 때 향후 위치가 변경되는 경우 셀에 대한 하드 인덱스 굴절을 피할 수 있습니다. 마지막 이름보다 다른 열을 삽입한다고 가정하면 .Cells (5)가 잘못된 데이터를 반환합니다.
대신 다음과 같이 액세스하기 위해 셀 ( "ColumnName")을 사용해보십시오.
LastName = ucboPatientInfo.Cells("LastName").Value
또한 이벤트 내에서 EventArgs 및 발신자 개체를 사용하고 직접 제어 굴절을 피해야합니다. 따라서 코드는 대신 다음과 같이 보일 수 있습니다.
LastName = e.Row.Cells("LastName").Value.ToString()
어쨌든 당신의 일을 보니 기쁩니다.