문제

나는 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()

어쨌든 당신의 일을 보니 기쁩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top