Использование формул в ячейках DataGridView - Visual Basic .NET

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

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

Собственно, нужно производить вычисления прямо в заполняемой ячейке датагрида, примерно как в экселе. Была идея перебора введенного выражения по символам математических операций (+, -, *, /), но тогда встает вопрос с вводом самих этих символов в переменную, которая заменит содержимое ячейки. Есть какой-либо способ засунуть выражение ячейки в переменную, чтобы переменная считала его не как текст, а как собственную формулу и вычислила результат?

Решение задачи: «Использование формул в ячейках DataGridView»

textual
Листинг программы
Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        DGV.Rows.Add("2+2")
        DGV.Rows.Add("2+2*(3+7)")
    End Sub
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim obj = CreateObject("MSScriptControl.ScriptControl") : obj.Language = "VBScript"
        For Each row As DataGridViewRow In DGV.Rows
            Try
                row.Cells(1).Value = Val(obj.Eval(row.Cells(0).Value))
            Catch ex As Exception
                row.Cells(1).Value = "#ошибка"
            End Try
        Next
    End Sub
End Class

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


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

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

14   голосов , оценка 4 из 5