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

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

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

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

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

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

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


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

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

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

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

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

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