0

How to allow editing the value in the combolist of C1FlexGrid in vb10? Is it not okay to type the value in the combolist of c1 flex grid?

I am using the following snippet

GridComboTransferStr = dbRow("RSPrice1") & "|" & Trim(GridComboTransferStr) & ""
4

1 回答 1

3

Winforms 的 ComponentOne Studio 中 C1FlexGrid 中的 ComboList 的工作方式类似于 MS 控件的 DatGridView 中的 ComboList。ComboList 可以在 VB10 的 C1FlexGrig 中进行编辑。事实上,它是 C1FlexGrid 的一个重要且广泛使用的功能。

C1FlexGrid的ComboList属性启用了这个功能。它指定编辑单元格时要使用的编辑器类型。您可以使用文本框下拉列表下拉组合编辑按钮来弹出自定义编辑器表单。

若要使用 ComboList 属性,请将AllowEditing属性设置为true并通过将ComboList属性设置为描述要用于该单元格的编辑类型的字符串来响应BeforeEdit事件。选项描述如下:

  • 要使用常规文本框编辑单元格,请将 ComboList 属性设置为空字符串。例如:

    flex.ComboList = string.Empty

  • 要使用下拉列表编辑单元格,请将 ComboList 属性设置为包含可用选项的字符串,并用竖线字符分隔。例如:

    flex.ComboList = "项目 1|项目 2|项目 3"

  • 要使用下拉组合编辑单元格,请将 ComboList 属性设置为包含可用选项的字符串,以竖线字符 ("|") 分隔并以竖线字符开头。例如:

    flex.ComboList = "|项目 1|项目 2|项目 3"

  • 要显示编辑按钮,请将 ComboList 属性设置为包含省略号 ("...") 的字符串。编辑按钮看起来像常规按钮,与单元格右侧对齐,并带有省略号作为标题。当用户单击编辑按钮时,网格会触发 CellButtonClick 事件。在这种情况下,用户不能直接编辑单元格内容。例如:

    flex.ComboList = "..."

  • 要在可编辑单元格旁边显示编辑按钮,请将 ComboList 属性设置为包含竖线和省略号(“|...”)的字符串。在这种情况下,您会看到一个常规的编辑按钮,但用户也可以直接编辑单元格内容。例如:

    flex.ComboList = "|..."

示例

下面的代码处理 BeforeEdit 事件并为 ComboList 属性分配一个值,以便网格每隔一行显示按钮。

Private Sub _flex_BeforeEdit(sender As Object, e As RowColEventArgs)
    _flex.ComboList = String.Empty
    If e.Row Mod 2 = 0 Then
        _flex.ComboList = "..."
    End If
End Sub
于 2014-06-11T05:45:34.583 回答