C#Winform程序,怎样实现这种表格?

时间:2023-02-20 23:32:32
C#Winform程序,怎样实现这种表格?
就是这种表格,要怎样能画出来?用DataGridView可以么?
还是其他什么控件?

47 个解决方案

#1


比较困难

#2


莫非动态生成的图片?WINFORM造这种复杂表格不在行啊

#3


那些竖线不用也可以,但是表格的结构应该是这样的

#4


难..........

#5


是啊,我也知道很难,可是客户这么要求的……经理也这么说……无法啊……大家帮忙想想办法吧

#6



tablelayoutpanel
就可以。

如果你不怕效率的话……

#7


gridview  合并   不过很麻烦

#8


我也考虑过,两个DataGridView放一起,可总感觉不舒服,希望能有个比较合适的方法……6楼说的方法……没用过,不过好像也很麻烦的说……

#9


引用 8 楼 zjq0034 的回复:
我也考虑过,两个DataGridView放一起,可总感觉不舒服,希望能有个比较合适的方法……6楼说的方法……没用过,不过好像也很麻烦的说……


很容易……太容易了……

你让那个控件的边框为实线就可以了。
一个格里面放一个控件。

#10


我感觉就是这样的一副图片用作背景,GDI+也应该可以实现

#11


图片只要对应数字设计好的,就应该可以实现,前提是你窗体大小需要固定不能变,这应该是最简单的了吧,DataGridView支持GDI+重绘,如果你这个厉害的话自己可以编写自定义控件

#12


DevExpress 中的xtragrid还是比较强大的,不过好像没有这种表格方式

#13


就算能画出来,也很复杂。 。 

#14


用gid+画吧,应该能画出来。

#15


都是用第三方控件做的,自己画,太难

#16


那用tabLayoutPanel吧 

#17


上面说的没错 tablelayoutpanel 可以作出这样的效果,需要多个tablelayoutpanel  嵌套来实现 ,
把tablelayoutpanel 的边框样式 设置一下就会有黑线 ,剩下的就是  向tablelayoutpanel 里拖控件了 ,
不过注意一点 ,一个格只能放一个控件,想多放 只能再弄个tablelayoutpanel  ,这点比较麻烦,
不过效果可以实现,效率方面也相对低一些。

再一种办法就是 用上面说的XGRID 第三方的那个,那个可以实现上面效果,但。。。非常之麻烦。

#18


。。。。。
为什么不用水晶报表?

#19


图片的效果不用实现的,只要实现表格的结构就可以了……GDI+不会用啊……简单么?

#20


tableLayoutPanel试试?

#21


水晶报表很贵的说……客户是不会出钱买的

#22


数据要动态读取的,而且每一章表所显示的数据数都是不确定的,用tableLayoutPanel往里添加的话……恐怕很难实现吧?

#23


可以用DataGridView控件的嵌套来实现,以前同事做过,你可以试试。

#24


tableLayoutPanel里放的是控件啊  例如label 向label里负值就可以了 
如果是动态不确定的 在load的时候判断 修改tableLayoutPanel 的行或列!

#25


可以用华表Cell

#26


嵌套DataGridView还是简单的放在一起啊?嵌套的话怎么嵌?

#27


一个控件都不用. 全部画在窗体上,. 有必要的话 连滚动条一起画了.

#28


gdi+  ,然后自己去寻找每条线之间的关系,给我的第一感觉
呵呵呵

#29


引用 27 楼 hiddkiller 的回复:
一个控件都不用. 全部画在窗体上,. 有必要的话 连滚动条一起画了.


#30


关注...

#31


这个很麻烦, 很费时的, 用GDI+算的很痛苦, 用DataGridView合并的很痛苦

#32


(1)网上有国人写的一个控件,有源码,楼主可找一下。
(2)用wpf来做,应当是可以的。
(3)可以考虑用背景图。

#33


用第三方控件或通过XML重写DataGridView.一些ERP这种控件很多。可看看极致的开发平台

#34


学习 

#35


这种效果难啊

#36


一句话,自己画

#37


UP

#38


完全可以实现,请查查关于DataGridView合关单元格的内容

#39


持续关注中...

#40


自己画 用GDI……

肯定可以的 不过效率肯定会大打折扣的 很占资源 
建议 用第三方控件 
或者 能力强的话 可以自己做这样的控件 

#41


用水晶报表应该可以

#42


这个看上去是专门的财务报表啊

#43


三方控件

#44


呵呵   以前经常碰到这种东西   
对日外包里面的   他们那边有一个控件 可能大家都没用过
multirowsheet
这个是要设计的好  什么样的效果都可达到,不过我相信datagridview肯定是可以做到的   就是要花点时间而已

#45


如果想做好,就用GDI+自己开发一个控件,现成的好像没有,不知道有没有第三方的控件;这个控件自己写出来也不难,只是花些时间而已

#46


重画-----------------------------------麻烦!!!!
第三方控件-----------------------------懒得去看doc!!

第三种方法:
用HTML,简单的在winform上放个浏览器控件,
然后自己用DW整个table,像下面这样:
<table>
 <tr>
  <td>
   ....
  </td>
  ....
 </tr>
 ...
</table>
然后给那个控件documenttext赋值,哦了,
你要的功能,而且还能动态变各种表格,呵呵,整的好看点,去掉右键菜单,
让人难以乱真,O(∩_∩)O哈哈~

#47


谢谢大家了!

#1


比较困难

#2


莫非动态生成的图片?WINFORM造这种复杂表格不在行啊

#3


那些竖线不用也可以,但是表格的结构应该是这样的

#4


难..........

#5


是啊,我也知道很难,可是客户这么要求的……经理也这么说……无法啊……大家帮忙想想办法吧

#6



tablelayoutpanel
就可以。

如果你不怕效率的话……

#7


gridview  合并   不过很麻烦

#8


我也考虑过,两个DataGridView放一起,可总感觉不舒服,希望能有个比较合适的方法……6楼说的方法……没用过,不过好像也很麻烦的说……

#9


引用 8 楼 zjq0034 的回复:
我也考虑过,两个DataGridView放一起,可总感觉不舒服,希望能有个比较合适的方法……6楼说的方法……没用过,不过好像也很麻烦的说……


很容易……太容易了……

你让那个控件的边框为实线就可以了。
一个格里面放一个控件。

#10


我感觉就是这样的一副图片用作背景,GDI+也应该可以实现

#11


图片只要对应数字设计好的,就应该可以实现,前提是你窗体大小需要固定不能变,这应该是最简单的了吧,DataGridView支持GDI+重绘,如果你这个厉害的话自己可以编写自定义控件

#12


DevExpress 中的xtragrid还是比较强大的,不过好像没有这种表格方式

#13


就算能画出来,也很复杂。 。 

#14


用gid+画吧,应该能画出来。

#15


都是用第三方控件做的,自己画,太难

#16


那用tabLayoutPanel吧 

#17


上面说的没错 tablelayoutpanel 可以作出这样的效果,需要多个tablelayoutpanel  嵌套来实现 ,
把tablelayoutpanel 的边框样式 设置一下就会有黑线 ,剩下的就是  向tablelayoutpanel 里拖控件了 ,
不过注意一点 ,一个格只能放一个控件,想多放 只能再弄个tablelayoutpanel  ,这点比较麻烦,
不过效果可以实现,效率方面也相对低一些。

再一种办法就是 用上面说的XGRID 第三方的那个,那个可以实现上面效果,但。。。非常之麻烦。

#18


。。。。。
为什么不用水晶报表?

#19


图片的效果不用实现的,只要实现表格的结构就可以了……GDI+不会用啊……简单么?

#20


tableLayoutPanel试试?

#21


水晶报表很贵的说……客户是不会出钱买的

#22


数据要动态读取的,而且每一章表所显示的数据数都是不确定的,用tableLayoutPanel往里添加的话……恐怕很难实现吧?

#23


可以用DataGridView控件的嵌套来实现,以前同事做过,你可以试试。

#24


tableLayoutPanel里放的是控件啊  例如label 向label里负值就可以了 
如果是动态不确定的 在load的时候判断 修改tableLayoutPanel 的行或列!

#25


可以用华表Cell

#26


嵌套DataGridView还是简单的放在一起啊?嵌套的话怎么嵌?

#27


一个控件都不用. 全部画在窗体上,. 有必要的话 连滚动条一起画了.

#28


gdi+  ,然后自己去寻找每条线之间的关系,给我的第一感觉
呵呵呵

#29


引用 27 楼 hiddkiller 的回复:
一个控件都不用. 全部画在窗体上,. 有必要的话 连滚动条一起画了.


#30


关注...

#31


这个很麻烦, 很费时的, 用GDI+算的很痛苦, 用DataGridView合并的很痛苦

#32


(1)网上有国人写的一个控件,有源码,楼主可找一下。
(2)用wpf来做,应当是可以的。
(3)可以考虑用背景图。

#33


用第三方控件或通过XML重写DataGridView.一些ERP这种控件很多。可看看极致的开发平台

#34


学习 

#35


这种效果难啊

#36


一句话,自己画

#37


UP

#38


完全可以实现,请查查关于DataGridView合关单元格的内容

#39


持续关注中...

#40


自己画 用GDI……

肯定可以的 不过效率肯定会大打折扣的 很占资源 
建议 用第三方控件 
或者 能力强的话 可以自己做这样的控件 

#41


用水晶报表应该可以

#42


这个看上去是专门的财务报表啊

#43


三方控件

#44


呵呵   以前经常碰到这种东西   
对日外包里面的   他们那边有一个控件 可能大家都没用过
multirowsheet
这个是要设计的好  什么样的效果都可达到,不过我相信datagridview肯定是可以做到的   就是要花点时间而已

#45


如果想做好,就用GDI+自己开发一个控件,现成的好像没有,不知道有没有第三方的控件;这个控件自己写出来也不难,只是花些时间而已

#46


重画-----------------------------------麻烦!!!!
第三方控件-----------------------------懒得去看doc!!

第三种方法:
用HTML,简单的在winform上放个浏览器控件,
然后自己用DW整个table,像下面这样:
<table>
 <tr>
  <td>
   ....
  </td>
  ....
 </tr>
 ...
</table>
然后给那个控件documenttext赋值,哦了,
你要的功能,而且还能动态变各种表格,呵呵,整的好看点,去掉右键菜单,
让人难以乱真,O(∩_∩)O哈哈~

#47


谢谢大家了!