Pergunta

Eu sou bastante novo para o uso de controles Infragistics (começou ontem). Enquanto eles são (muito) impressionantes que fazem adicionar outra camada de complexidade, o que eu estou muddeling completamente. Então, eu estou perguntando o que eu sinto ser uma questão bastante simples:

Eu estou tentando obter o valor de outra coluna para além daquele que é exibido na caixa de combinação. Até agora todas as minhas tentativas só agarrou o valor da coluna de cabeçalho não o valor na coluna de linha que foi selecionada.

Especificamente eu quero tirar do meu ultracombobox o valor da coluna sobrenome quando uma linha é selecionada e colocá-lo em uma caixa de texto. O código abaixo eu tenho até agora retruns a coluna de cabeçalho (sobrenome) e nada mais, não importa qual linha eu selecionar.

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

Eu adicionei o: "ucboPatientInfo.ValueMember = 'contas'" Para ajudar a esclarecer o que meu código está fazendo isso não é realmente nesta parte do código

.

Por favor, ajuda

Foi útil?

Solução 2

encontrado combinação correta:

LastName = ucboPatientInfo.Cells(5).Value

Outras dicas

Parece que você encontrou uma solução trabalhando para seu próprio problema. Eu pensei que eu gostaria apenas de acrescentar mais algumas informações e coisas a considerar.

Você pode querer evitar um refrence índice difícil de sua cela, no caso da posição muda no futuro, como você adicionar novos dados a fonte de dados da grade. Digamos que você inserir outra coluna à frente do sobrenome, agora seu .Cells (5) irá retornar dados incorretos.

Em vez de tentar usar as células ( "columnName") para acesso como este:

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

Você também deve tentar usar os eventArgs e objetos remetente dentro do seu evento e evitar uma refrence controle direto. Portanto, o seu código poderia ser semelhante a este em vez disso:

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

Fico feliz em ver seus Workin as coisas em qualquer caso.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top