DataGridView实现添加合计行并始终显示在底部

本文介绍了如何在DataGridView中创建一个始终显示在底部的合计行。通过使用两个独立的DataGridView和一个纵向滚动条,实现了当数据行滚动时,合计行保持可见。同时,实现了合计行的自动计算功能,并提供了详细的代码示例。
摘要由CSDN通过智能技术生成

 DataGridView中没有合适的方法来冻结底部的合计行,这里用一种比较简单的方式实现。

1. 数据部分的DataGridView,不带任何滚动框

2.合计部分的DataGridView,带有横向滚动框

3.在画面上添加一个纵向滚动框

实现的主要思路就是用合计行的横向滚动框控制两个DataGridView的横向滚动,右侧的纵向滚动狂控制数据部分的DataGridView,效果看起来就是合计行始终显示。

 

该例实现了合计行的自动计算,取数据的部分是用程序做的DataTable

 

DataGridViewSumRow

Public Class DataGridViewSumRowClass DataGridViewSumRow

 

    Private dt As DataTable

    Dim dtSum As DataTable

    Private ROW_HEIGHT As Integer = 21 ''行高

 

Private Sub DataGridViewSumRow_Load()

Sub DataGridViewSumRow_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        VScrollBar1.Visible = False

    End Sub

 

    Private Sub Button1_Click()Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

 

        dt = GetData()

        Me.DataGridView1.DataSource = dt

        Me.DataGridView1.RowTemplate.Height = ROW_HEIGHT

 

        GetSumData()

 

        ''行数超过当前页显示时显示纵向滚动条

        If dt.Rows.Count > 13 Then

 

            VScrollBar1.Visible = True

            ''总长度为 (所有行数 - 画面一页显示行数) × 行高

            VScrollBar1.Maximum = (Me.DataGridView1.Rows.Count - Me.DataGridView1.DisplayedRowCount(False)) * ROW_HEIGHT

            VScrollBar1.Minimum = 0

            VScrollBar1.SmallChange = 21

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MuskSu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值