挑战一下DataGridView的高级应用,效果见图片

iwebsms 2006-10-18 10:00:47
这个是我看到高手开发的界面
http://www.dahai.net/dgv.gif

其中:白色列是可以输入的,黄色列是系统生成的
这些都不是问题,问题的关键如下

在DataGridView中如何实现把汇总列放在最下面,而且还要做出中间没有数据的效果来,郁闷
望各位一起研究研究
...全文
672 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
cuibin0418996 2006-10-26
  • 打赏
  • 举报
回复
效果如图:
http://img669.photo.163.com/cb0418996/102120589/2303258435.jpg
hm8030 2006-10-26
  • 打赏
  • 举报
回复
mark...
cuibin0418996 2006-10-25
  • 打赏
  • 举报
回复
可以用两个DataGridView实现,竖放在一起
上面的(白色)显示数据库里的数据
下面的(黄色)做计算
cuibin0418996 2006-10-25
  • 打赏
  • 举报
回复
具体实现如下(假设4列),连数据库和统计计算可以自己加


'DataGridView1
'
Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column1, Me.Column2, Me.Column3, Me.Column4})
Me.DataGridView1.Location = New System.Drawing.Point(85, 37)
Me.DataGridView1.Name = "DataGridView1"
Me.DataGridView1.RowHeadersVisible = False
Me.DataGridView1.RowTemplate.Height = 21
Me.DataGridView1.Size = New System.Drawing.Size(422, 212)
Me.DataGridView1.TabIndex = 0
'
'Column1
'
Me.Column1.HeaderText = "Column1"
Me.Column1.Name = "Column1"
'
'Column2
'
Me.Column2.HeaderText = "Column2"
Me.Column2.Name = "Column2"
'
'Column3
'
Me.Column3.HeaderText = "Column3"
Me.Column3.Name = "Column3"
'
'Column4
'
Me.Column4.HeaderText = "Column4"
Me.Column4.Name = "Column4"
'
'DataGridView2
'
DataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
DataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control
DataGridViewCellStyle6.Font = New System.Drawing.Font("MS UI Gothic", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(128, Byte))
DataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText
DataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight
DataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText
DataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
Me.DataGridView2.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle6
Me.DataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
Me.DataGridView2.ColumnHeadersVisible = False
Me.DataGridView2.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Column5, Me.Column6, Me.Column7, Me.Column8})
Me.DataGridView2.Location = New System.Drawing.Point(85, 225)
Me.DataGridView2.Name = "DataGridView2"
Me.DataGridView2.RowHeadersVisible = False
Me.DataGridView2.RowTemplate.Height = 21
Me.DataGridView2.Size = New System.Drawing.Size(404, 24)
Me.DataGridView2.TabIndex = 1
'
'Column5
'
DataGridViewCellStyle7.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Column5.DefaultCellStyle = DataGridViewCellStyle7
Me.Column5.HeaderText = "Column5"
Me.Column5.Name = "Column5"
'
'Column6
'
DataGridViewCellStyle8.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Column6.DefaultCellStyle = DataGridViewCellStyle8
Me.Column6.HeaderText = "Column6"
Me.Column6.Name = "Column6"
'
'Column7
'
DataGridViewCellStyle9.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Column7.DefaultCellStyle = DataGridViewCellStyle9
Me.Column7.HeaderText = "Column7"
Me.Column7.Name = "Column7"
'
'Column8
'
DataGridViewCellStyle10.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(255, Byte), Integer), CType(CType(192, Byte), Integer))
Me.Column8.DefaultCellStyle = DataGridViewCellStyle10
Me.Column8.HeaderText = "Column8"
Me.Column8.Name = "Column8"
Me.Column8.Resizable = System.Windows.Forms.DataGridViewTriState.[False]
yanchangshan 2006-10-24
  • 打赏
  • 举报
回复
mark一下
jshyjyw 2006-10-23
  • 打赏
  • 举报
回复
关注中
HAVENT 2006-10-23
  • 打赏
  • 举报
回复
看起来贼像Delphi的Eh控件^_^~~~

自己写扩展的,不过可不是件轻松的事情啊,很多第三方控件也实现这些功能的
zhang87224088 2006-10-23
  • 打赏
  • 举报
回复
关注
GHOSTSEA 2006-10-23
  • 打赏
  • 举报
回复
应该是自己写的控件,关注
levin9 2006-10-22
  • 打赏
  • 举报
回复
不会.
iwebsms 2006-10-22
  • 打赏
  • 举报
回复
真的没有人会吗?
yuchangfu 2006-10-22
  • 打赏
  • 举报
回复
自己做一个GRID啊. 我们公司哪些报表比这个还复杂,都是自己写出来的.
格式想怎么样做就怎么样画啊.
cnwd 2006-10-22
  • 打赏
  • 举报
回复
ding
xzhy80 2006-10-19
  • 打赏
  • 举报
回复
grid都有footer阿
你把那个显示出来
然后在里面复制旧好了
iwebsms 2006-10-19
  • 打赏
  • 举报
回复
关键的问题是,如果数据很多的话,还是可以拖动滚动条的
而最后的一行是始终在那个位置的
miyimei 2006-10-18
  • 打赏
  • 举报
回复
这边也有啊,那我再发个,呵呵
接分
汇总用单元格的CellFormatting事件来计算和值,并显示出来
tioncai 2006-10-18
  • 打赏
  • 举报
回复
关注
Jianyi 2006-10-18
  • 打赏
  • 举报
回复
DataGridView中如何实现把汇总列放在最下面,而且还要做出中间没有数据的效果来
____________

动态控制倒数第二行的高度~

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧