我正在使用2013年的Infragicstics。 我有一个要求,其中我必须在Winforms Ultragrivi中添加一个按钮以及列中的列中的文本。 按钮将打开弹出屏幕,允许用户选择将显示为网格列中的文本的值。

谢谢。

有帮助吗?

解决方案 3

好的,好吧得到了答案。

必须将列风格设置为EditButton。

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

其他提示

设置 style ColumnStyle .editButton。例如:

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

然后,您可以处理Ultragrads 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
.

只是为了稍微扩展答案:如果您希望按钮可以一直看到(而不是在您单击包含按钮的单元格时,您可能还需要设置buttononisplaystyle:

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

此外,如果您想要更多控制按钮的外观或位置,那么来自Infragistics的Mike Saltzman的信息可能是有用的:

如果您想要左对齐的按钮,则 相同的单元格,或不填充整个单元格但包含文本的按钮 和/或图像,您可以使用编辑器。基本方法是某种东西 像这样:

1)向您的表单添加编辑器控件(如UltraTeXtEditor, 示例)。

2)使用buttonsleft和/或buttonsright集合添加 你想要的按钮。您可以设置每个按钮的文本和外观。

3)在代码中,将列(或单元)的编辑器设置为 编辑器控件。这基本上是设置风格,但在一个 更强大的方式。

4)要处理按钮的点击事件,请处理事件 在编辑器 - 不是网格。例如,如果它只是正常 按钮,您将使用EditorButtonClick。活动args将通过您 将返回按钮的网格单元的上下文 点击。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top