为什么不将“复选框”列设置为Ultragrid?

时间:2019-05-17 09:40:58

标签: c# winforms infragistics

我试图向Ultragrid添加一个复选框列。

但是Ultragrid没有复选框。 刚刚选中或未选中的文本... 或正确或错误的文字...

UltraGridColumn ugc = e.Layout.Bands[0].Columns.Add(key, caption);
ugc.DataType = typeof(bool);
ugc.Style = Infragistics.Win.UltraWinGrid.ColumnStyle.CheckBox;

enter image description here

1 个答案:

答案 0 :(得分:0)

  1. 以与UltraGrid(ug)相同的形式添加UltraCheckEditor(uchk)
  2. 更改编辑器的z顺序以将其隐藏在网格后面。
  3. 根据自己的喜好修改编辑器的外观属性。
  4. 添加以下通用代码:
    Private Sub FormatMyBooleanFields()
        uchk.CheckAlign = Drawing.ContentAlignment.MiddleCenter

        With ug.Rows.Band
            For i As Integer = 0 To .Columns.Count - 1
                If .Columns(i).DataType Is GetType(Boolean) Then
                    ug.Rows.Band.Columns(i).EditorComponent = uchk
                End If
            Next
        End With
    End Sub