Winfrom中DataGridView如何显示树形?

spring0906 2010-07-07 10:32:12
C# Winfrom中用DataGridView显示信息,如何把内容成树形显示出来
如下图
...全文
688 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhjzeus007 2010-09-28
  • 打赏
  • 举报
回复
加我QQ:872422848 我有源码,(重写方法)
spring0906 2010-07-12
  • 打赏
  • 举报
回复
嗯 现在解决了,画的话其实不难,只是太麻烦,耗时有多,所以选择第三方控件TreeList。很好很强大。
可惜试用的,谁有最新版的破解版,能发给我吗?小弟不胜感激 邮箱:tongyongqq123@163.com
jianuMan 2010-07-08
  • 打赏
  • 举报
回复
treeview 还是 listview
有个group功能
wxm3630478 2010-07-08
  • 打赏
  • 举报
回复
xuexi
spring0906 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 songjd 的回复:]
下班前来看下,居然还没搞定

C# code

//显示数据,这个函数在你获取到数据后调用
private void showData(datarow[] drows)
{
//用你的集合,一行一行写到datagridview
for(int i = 0;i < drows.length; i++)
{
dgView.rows[i].cell["……
[/Quote]

懂了,现在在想办法画图片
July_023 2010-07-08
  • 打赏
  • 举报
回复
貌似有点复杂,学习了
jycrystal2002 2010-07-08
  • 打赏
  • 举报
回复
想学习就自己画,只想用实现效果就果断用第三方控件吧,功能强大,效果也好
spring0906 2010-07-08
  • 打赏
  • 举报
回复
画图 好难啊
liaoyukun111 2010-07-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wuyq11 的回复:]
datagridview树形
http://topic.csdn.net/u/20091214/16/69a345ea-1dc8-416f-86f7-8db84ee8d7c8.html
[/Quote]

NB
wesweeky 2010-07-07
  • 打赏
  • 举报
回复
这个得看看那
huwei001982 2010-07-07
  • 打赏
  • 举报
回复
http://www.cnblogs.com/michaelhuwei/archive/2008/10/08/1306437.html

是这样的效果吗
jycrystal2002 2010-07-07
  • 打赏
  • 举报
回复
直接就Dev的Treelist吧,现成的,我自己不会重写,只能用现成的第三方控件了
songjd 2010-07-07
  • 打赏
  • 举报
回复


int irowcount = this.dgView.DisplayedRowCount(true);
if (irowcount == 0) return;
Rectangle currrct;
int startNo = this.dgView.FirstDisplayedCell.RowIndex;
string stext = "";
int nowy = 0;
int hDelta = 0;
for (int i = startNo; i < startNo + irowcount; i++)
{
currrct = (Rectangle)this.dgView.GetCellDisplayRectangle(1, i, true);
nowy = currrct.Y + 2;
stext = string.Format("{0, 3}", i + 1);
if (hDelta == 0)
hDelta = (currrct.Height - this.Font.Height) / 2;
if (this.dgView.Rows[i].Selected == true)
e.Graphics.DrawString(stext, this.Font, new SolidBrush(Color.White), 10, nowy + hDelta);
else
e.Graphics.DrawString(stext, this.Font, new SolidBrush(Color.Black), 10, nowy + hDelta);
}

这是画序号的。画图的层次关系太复杂,就不贴了。
spring0906 2010-07-07
  • 打赏
  • 举报
回复
额 实在惭愧,这个onpaint事件是怎么绘制的?俺重来没有写过这个事件。
spring0906 2010-07-07
  • 打赏
  • 举报
回复
哦 好的我试试。
songjd 2010-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 spring0906 的回复:]
你说的这个我知道,我不知道在哪里写这个事件?查询数据的时候要怎么处理吗?
[/Quote]

不知道哪里写这个事件? onpaint事件在你填充好数据显示的时候自然就执行了。
和查询数据有什么关系?
你只管在paint事件中重绘第一格就可以了。在第一格里画图片和序号。
当然你填充数据的时候第一格要空着,留给绘图和序号。
LovingAlison 2010-07-07
  • 打赏
  • 举报
回复
肯定是要重写的
看看这个有帮助没
http://www.geidan.com/csharpbuilder/M2123348MGV.html
sardineany 2010-07-07
  • 打赏
  • 举报
回复
用treeview关联一下呗
spring0906 2010-07-07
  • 打赏
  • 举报
回复
你说的这个我知道,我不知道在哪里写这个事件?查询数据的时候要怎么处理吗?
加载更多回复(6)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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