Adicionar botão + texto na coluna Infragistics ultragrid
-
21-12-2019 - |
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.
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.