3

Infragistics 2013 バージョンを使用しています。winforms ultragrid の列にテキストと共にボタンを追加する必要があるという要件があります。ボタンをクリックするとポップアップ画面が開き、ユーザーはグリッドの列にテキストとして表示される値を選択できます。

ありがとうございました。

4

4 に答える 4

6

列のスタイルColumnStyle .EditButton に設定します。例えば:

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

その後、UltraGrids のCellButtonClickedイベントを処理して、ボタンがクリックされたタイミングを知ることができます。e.Cell は、どのセルがクリックされたかを知らせます。

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
于 2014-01-13T19:58:26.417 に答える
2

答えを少し拡張するだけです。ボタンを含むセルをクリックしたときだけでなく、ボタンを常に表示したい場合は、ButtonDisplayStyle も設定する必要があります。

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

また、ボタンの外観や位置をより詳細に制御したい場合は、Infragistics の Mike Saltzman からの次の情報が役立つ場合があります。

左揃えのボタン、同じセル内の複数のボタン、またはセル全体ではなくテキストや画像を含むボタンが必要な場合は、エディターを使用できます。基本的なアプローチは次のようなものです。

1) エディター コントロールをフォームに追加します (たとえば、UltraTextEditor など)。

2) ButtonsLeft および/または ButtonsRight コレクションを使用して、必要なボタンを追加します。各ボタンのテキストと外観を設定できます。

3) コードで、Column (または Cell) の EditorControl をエディター コントロールに設定します。これは基本的にスタイルの設定に似ていますが、より堅牢な方法です。

4) ボタンのクリック イベントを処理するには、グリッドではなくエディターでイベントを処理します。たとえば、通常のボタンの場合は、EditorButtonClick を使用します。イベント引数は、ボタンがクリックされたグリッド セルを返す Context を渡します。

于 2014-02-15T16:42:35.553 に答える