Как в DataGridView записать программно данные, добавить строку и вывести туда итог - Visual Basic .NET

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

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

Доброе время суток! Подскажите пожалуйста как сделать следующее У меня вывело результат из mysql хочу красиво дописать в низу строку типо как итог: значения : значения: значения

Решение задачи: «Как в DataGridView записать программно данные, добавить строку и вывести туда итог»

textual
Листинг программы
    ' Универсальная процедура с входными параметрами для выборки из бызы
    ' iTableName - Имя создаваемой таблицы в iDataSet
    ' iCommandText - Текст команды
    ' iName - Имя дочерней процедуры
    Public Sub SelectQueryData(ByVal iTableName As String, ByVal iCommandText As String, Optional ByVal iName As String = "")
        Try ' Настраиваем команду SQL
            With SqlCom
                ' Если таблица iTableName существует то, очищае ее
                If iDataSet.Tables.Contains(iTableName) Then iDataSet.Tables(iTableName).Clear()
                SqlCom.Connection = Conn                    ' Указываем подключение                                
                SqlCom.CommandText = iCommandText           ' Указываем текст запроса
            End With
 
            ' Настраиваем Адаптер
            With iDataAdapter
                On Error GoTo UpdateTableName       ' Если ошибка, значит привязка к DateSet уже определена
                .SelectCommand = SqlCom             ' Указываем команду на выгрузку данных из базы
                .Fill(iDataSet, iTableName)         ' Выгруженные данные заливаем в DateSet и именуем 
UpdateTableName:
                .Update(iDataSet, iTableName)       ' Значит просто обновляем таблицу
            End With
            ' ======================================================================================================
 
            iDataAdapter.Dispose()      ' Освобождаем ресурсы от DataAdapter
            iDataSet.Dispose()          ' Освобождаем ресурсы от DataSet
            Conn.Close()                ' Закрываем соединение
 
            ' Сообщение при неудачном подключении к базе данных
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.OkOnly Or MsgBoxStyle.Critical & Chr(10) & _
            "Ошибка вызова прощедуры: " & iName, Application.ProductName)
            Conn.Close()
        End Try
    End Sub
 
 ' Выборка заявлений в суд
    Public Sub GetPr_PetitionsDebt()
        ' Выгружаем заявлений в суд
        iTableName = "PetitionsDebt"                                            ' Имя будущей таблицы
        iCommandText = "SELECT * " & _
                       "FROM vPr_PetitionsDebt " & _
                       "WHERE(AbonentId =" & My.Settings.CurrAbonId & ") " & _
                       "ORDER BY DtPeriodStart"                                 ' Текст SQL запроса")
        SelectQueryData(iTableName, iCommandText, "GetPr_PetitionsDebt")        ' Выполняем универсальный Селект
        ' Добавление итоговы сумм в конец iDataSet
        Dim iCount As Integer = iDataSet.Tables("PetitionsDebt").Rows.Count     ' Кол-во исков
        Dim iSumDebt, iSumGovTax As Double                                      ' Сумма долгов и госпошлин
        If iCount <> 0 Then
            iSumDebt = SumValueInDateSet("PetitionsDebt", "DebtSumm")
            iSumGovTax = SumValueInDateSet("PetitionsDebt", "GovTax")
            ' Запись итоговых сумм в массив
            With iDataSet.Tables("PetitionsDebt")
                Dim rowArray(7) As Object
                rowArray(0) = DBNull.Value
                rowArray(1) = DBNull.Value
                rowArray(2) = DBNull.Value
                rowArray(3) = DBNull.Value
                rowArray(4) = "Итого"
                rowArray(5) = iSumDebt
                rowArray(6) = iSumGovTax
                .Rows.Add.ItemArray = rowArray
            End With
        End If
    End Sub
 
   ' Суммирование значений по столбцу в таблице из iDataSet
    Public Function SumValueInDateSet(ByVal iTableName As String, ByVal iColumnName As String)
        Dim Counter As Double = 0 ' Счетчик строк
        Dim iSum As Double = 0 ' Накопитель суммы
        ' Цик по строкам iDataSet если он не пустой
        If iDataSet.Tables(iTableName).Rows.Count <> 0 Then
            For Each iRow As DataRow In iDataSet.Tables(iTableName).Rows
                Counter = iRow.Item(iColumnName).ToString
                iSum = Counter + iSum
            Next
            Return iSum
        End If
        Return 0
    End Function

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


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

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

10   голосов , оценка 3.8 из 5
Похожие ответы