Форматирование десятичных чисел в Infragistics Ultragrid в VB.NET

Infragistics Ultragrid — это мощный элемент управления сеткой, используемый в приложениях VB.NET для отображения данных и управления ими. При работе с десятичными числами в Ultragrid часто необходимо форматировать их в соответствии с конкретными требованиями. В этой статье блога мы рассмотрим различные методы форматирования десятичных чисел в Infragistics Ultragrid на примерах кода VB.NET.

Метод 1: использование свойства DisplayFormat
Один из способов форматирования десятичных чисел в Ultragrid — использование свойства DisplayFormat объекта UltraGridColumn. Это свойство позволяет указать строку пользовательского формата для отображения десятичного значения. Вот пример:

Dim column As UltraGridColumn = UltraGrid1.DisplayLayout.Bands(0).Columns("DecimalColumn")
column.Format = "0.00" ' Formats the decimal number with two decimal places

Метод 2: использование свойства FormatString
Другой метод — использовать свойство FormatString объекта UltraGridColumn. Это свойство позволяет указать строку формата, используя стандартные правила форматирования.NET. Вот пример:

Dim column As UltraGridColumn = UltraGrid1.DisplayLayout.Bands(0).Columns("DecimalColumn")
column.FormatString = "N2" ' Formats the decimal number with two decimal places

Метод 3: использование свойства CellAppearance
Вы также можете форматировать десятичные числа на уровне ячейки, используя свойство CellAppearance объекта UltraGridCell. Это свойство позволяет вам установить различные параметры форматирования, включая количество десятичных знаков. Вот пример:

Dim cell As UltraGridCell = UltraGrid1.Rows(0).Cells("DecimalColumn")
cell.Appearance.TextHAlign = HAlign.Right ' Aligns the text to the right
cell.Appearance.TextVAlign = VAlign.Middle ' Aligns the text vertically in the middle
cell.Appearance.TextTrimming = TextTrimming.EllipsisCharacter ' Trims the text with an ellipsis if it exceeds the cell width
cell.Appearance.TextHAlign = HAlign.Right ' Aligns the text to the right
cell.Value = 123.45 ' Sets the decimal value

Метод 4. Использование настраиваемого обработчика событий
Если вам нужны более расширенные параметры форматирования, вы можете использовать настраиваемый обработчик событий для динамического форматирования десятичных чисел. Например, вы можете обработать событие InitializeRow и отформатировать десятичное значение в зависимости от конкретных условий. Вот пример:

Private Sub UltraGrid1_InitializeRow(sender As Object, e As InitializeRowEventArgs) Handles UltraGrid1.InitializeRow
    Dim value As Decimal = CDec(e.Row.Cells("DecimalColumn").Value)
    If value > 1000 Then
        e.Row.Cells("DecimalColumn").Appearance.BackColor = Color.Red ' Sets the background color to red for values greater than 1000
    End If
    e.Row.Cells("DecimalColumn").Value = value.ToString("C") ' Formats the decimal value as currency
End Sub

В этой статье блога мы рассмотрели различные методы форматирования десятичных чисел в Infragistics Ultragrid на примерах кода VB.NET. Используя такие свойства, как DisplayFormat, FormatString, CellAppearance и настраиваемые обработчики событий, вы можете добиться точного и индивидуального форматирования десятичных чисел, отображаемых в Ultragrid.