Какой компонент выбрать для отображения таблицы - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Какой инструмент для подобной таблицы лучше использовать, к сожалению datagridview не подойдет.

Решение задачи: «Какой компонент выбрать для отображения таблицы»

textual
Листинг программы
  1. Public Class CustomDataGridView
  2.     Inherits DataGridView
  3.     Sub New()
  4.         ResizeRedraw = True
  5.         DoubleBuffered = True
  6.         ColumnHeadersVisible = False
  7.         RowHeadersVisible = False
  8.     End Sub
  9.     Private Sub CustomDataGridView_CellPainting(sender As Object, e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles Me.CellPainting
  10.         Try
  11.             Dim delmiter As String = "NONE"
  12.             If e.Value.ToString.Contains("-") Then
  13.                 delmiter = "-"
  14.             ElseIf e.Value.ToString.Contains("+") Then
  15.                 delmiter = "+"
  16.             End If
  17.             If delmiter <> "NONE" Then
  18.                 Dim _value As String = e.Value.ToString.Split(delmiter)(0).ToString
  19.                 Dim bonus As String = (delmiter & e.Value.ToString.Split(delmiter)(1)).ToString
  20.                 Dim _valueWidth As Integer = e.Graphics.MeasureString(_value, e.CellStyle.Font, e.CellBounds.Width).Width
  21.                 Dim bonusWidth As Integer = e.Graphics.MeasureString(bonus, e.CellStyle.Font, e.CellBounds.Width).Width
  22.  
  23.                 e.Handled = True
  24.                 e.PaintBackground(e.CellBounds, True)
  25.                 e.Graphics.DrawString(_value, e.CellStyle.Font, Brushes.Black, e.CellBounds.X + 2, e.CellBounds.Y + 5)
  26.                 Select Case delmiter
  27.                     Case "-" : e.Graphics.DrawString(bonus, New Font(e.CellStyle.Font.FontFamily, e.CellStyle.Font.SizeInPoints - 1, e.CellStyle.Font.Style), _
  28.                      Brushes.Red, e.CellBounds.X + _valueWidth + 2, e.CellBounds.Y + 1)
  29.                     Case "+" : e.Graphics.DrawString(bonus, New Font(e.CellStyle.Font.FontFamily, e.CellStyle.Font.SizeInPoints - 1, e.CellStyle.Font.Style), _
  30.                      Brushes.Green, e.CellBounds.X + _valueWidth + 2, e.CellBounds.Y + 1)
  31.                 End Select
  32.             End If
  33.         Catch : End Try
  34.     End Sub
  35. End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.154 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы