首页 ┆网站地图 ┆游戏资讯 ┆天龙八部 ┆资源下载 ┆淘宝网购物 ┆淘宝数码产品 ┆淘宝数码相机 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页 > NET专区 > VB.NET > DataGridView添加合计行并始终显示在底部的示例
DataGridView添加合计行并始终显示在底部的示例
来源: 发布时间:2011-09-09 浏览:人次  字体:[  

DataGridView添加合计行并始终显示在底部的示例,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
            VScrollBar1.LargeChange = 50

        End If

    End Sub


    ''' <summary>
    ''' 合计取得设定
    ''' </summary>
    ''' <remarks></remarks>

    Private Sub GetSumData()Sub GetSumData()
        Dim dr As DataRow

        dtSum = New DataTable("TEST")

        dtSum = dt.Clone

        Dim rdm As Random = New Random
        dr = dtSum.NewRow()
        dr(0) = "合计"

        For i As Integer = 1 To dt.Columns.Count - 1
            dr(i) = dt.Compute("Sum(" + dt.Columns(i).ColumnName + ")", "true")
        Next
        dtSum.Rows.Add(dr)

        Me.DataGridViewSum.DataSource = dtSum
        Me.DataGridViewSum.Rows(0).DefaultCellStyle.BackColor = Color.Brown
        Me.DataGridViewSum.ReadOnly = True
        Me.DataGridViewSum.SelectionMode = DataGridViewSelectionMode.FullRowSelect

    End Sub

    ''' <summary>
    ''' 数据取得
    ''' </summary>
    ''' <returns></returns>
    ''' <remarks></remarks>

    Public Function GetData()Function GetData() As DataTable

        Dim dt As DataTable
        Dim dr As DataRow

        dt = New DataTable("TEST")
        dt.Columns.Add(New DataColumn("号码", GetType(String)))
        dt.Columns.Add(New DataColumn("数量1", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量2", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量3", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量4", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量5", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量6", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量7", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量8", GetType(Integer)))
        dt.Columns.Add(New DataColumn("数量9", GetType(Integer)))

        Dim rdm As Random = New Random

        For i As Integer = 10 To 80
            dr = dt.NewRow()
            dr(0) = "00" & i.ToString
            For j As Integer = 1 To 9
                dr(j) = rdm.Next(1000, 5000)
            Next
            dt.Rows.Add(dr)
        Next

        Return dt
    End Function

共2页: 上一页 1 [2] 下一页
↓下一篇:没有了
 
相 关 文 章 发布商链接
·VB.net的FTP类,对FTP网页执行直接链...
·VB.net的FTP类,对FTP网页执行直接链...
·NET注意问题四:内存到峰值导致程...
·NET开发注意问题三:Debug模式编译应...
·NET开发注意问题二:对象创建使用,...
·NET开发注意问题一:数据库连接超时
·DateTimePicker如何自定义时间或日期...
·vb.net实现Datagridview控件显示数据...
·VB.Net定时器Timer类的简介及其应用...
·VB.NET如何使用监控类进行线程同步?
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)淘宝店铺一条街淘宝运动鞋淘宝网热门男装
网名:  验证码:  【所有评论】【↑返回顶部
评 分:12345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·NET开发注意问题三:Debug模...
·NET开发注意问题一:数据库连
·DateTimePicker如何自定义时...
·详解vb.net实现图片以二进制...
·vb.NET实现图片文件上加上文...
·vb.net实现上传图片并同时生...
·vb.net实现随机生成数字或字...
·如何在vb.net中使用ArrayList
·怎样通过VB.NET获得网卡地址...
·vb.NET中为组合框添加自动查...
·vb.NET下获取命令行参数的方...
·在.net中如何使用别人的Activ...
推 荐 主 题
java专题.net开发php学习
数据库windows7Word技巧
天龙八部QQ技巧IT职场
javascriptPhotoShop 淘宝购物
图 文 推 荐
VB.NET制作一个动态显示你的程序版本信息的"关于"对话框VB.NET制作一个动态显示你的程序版本信息的"关于"对话框
VB.Net开发的运行任务计划小程序代码,附效果图VB.Net开发的运行任务计划小程序代码,附效果图
NET开发注意问题三:Debug模式编译应用实际环境NET开发注意问题三:Debug模式编译应用实际环境
热 门 文 章
·VBA+VB.Net实现SQL数据导出到...
·使用Mid函数实现字符串的替换...
·详解vb.net实现图片以二进制...
·VB.NET实现的让TextBox控件只...
·VB.Net判断目录或文件是否存...
·DateTimePicker如何自定义时...
·在.net中如何使用别人的Activ...
·VB.Net开发的运行任务计划小...
·vb.net实现字符串左端开始按...
·vb.net实现Datagridview控件...
·VB.Net定时器Timer类的简介及...
·vb.net实现随机生成数字或字...
热 门 关 键 字
 网站首页 - 关于本站 - 加入收藏 - 网站地图 - 淘宝购物 - 在线留言 - 广告服务 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .