Pergunta

Estou usando a versão Infragistics 2013.Eu tenho um requisito em que preciso adicionar um botão junto com um texto em uma coluna no winforms ultragrid.O botão abrirá uma tela pop up que permite ao usuário selecionar um valor que será exibido como texto na coluna da grade.

Obrigado.

Foi útil?

Solução 3

Ok, recebi a resposta.

Tive que definir o estilo das colunas como EditButton.

UltraGrid1.DisplayLayout.Bands(0).Columns("ColName").Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton

Outras dicas

Colocou o Estilo da Coluna para EstiloColuna.EditButton.Por exemplo:

UltraGrid1.DisplayLayout.Bands(0).Columns("ColName").Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton 

Você pode então lidar com os UltraGrids CellButtonClicked evento para saber quando o botão foi clicado onde o e.Cell informará qual célula foi clicada:

Private Sub UltraGrid1_ClickCellButton(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.CellEventArgs) Handles ultraGrid1.ClickCellButton
   Debug.WriteLine("Button in " & e.Cell.Value.ToString() & " cell was clicked.")
End Sub

Apenas para estender um pouco a resposta:Se você quiser que o botão fique visível o tempo todo (em vez de apenas quando você clica na célula que contém o botão), você também pode precisar definir o ButtonDisplayStyle:

UltraGrid1.DisplayLayout.Bands(0).Columns("ColName").ButtonDisplayStyle = UltraWinGrid.ButtonDisplayStyle.Always

Além disso, se você quiser mais controle sobre a aparência ou localização do botão, esta informação de Mike Saltzman da Infragistics pode ser útil:

Se você deseja botões alinhados à esquerda, mais de um botão na mesma célula ou botões que não preenchem toda a célula, mas contêm texto e/ou imagens, você pode usar um editor.A abordagem básica é algo assim:

1) Adicione um controle do editor ao seu formulário (como o UlTratexteDitor, por exemplo).

2) Use a coleção Butronsleft e/ou Buttsright para adicionar os botões que você deseja.Você pode definir o texto e a aparência de cada botão.

3) No código, defina o e EditorControl da coluna (ou célula) como controle do editor.É essencialmente como definir o estilo, mas de uma maneira mais robusta.

4) Para lidar com os eventos de cliques do (s) botão (s), você lida com os eventos do editor - não a grade.Por exemplo, se for apenas um botão normal, você usaria o EditorButtonClick.O evento Args passará a você um contexto que retornará a célula da grade na qual o botão foi clicado.

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