关于TreeGridView使用和CellPainting对内容重绘

TreeGridView的使用

相关dll引用

初始是要修改界面上的显示问题。由于接手别人的代码,不知道这个控件是什么以及用法什么,我先在toolbox里找没找到。后面通过设计界面找到类型( AdvancedDataGridView),然后就找不到上一级了,只能通过引用dll,找类似的看内部函数。

  • 具体dll,右键——view in object browser,单机每个dll都能看到里面具体函数,我把所有datagridview和treelist相关的dll都查了,最终找到了引用的dll(ExpandableGridView.dll)。

控件添加

  • 我以为添加了dll总能直接从toolbox里拖出个控件了呢,太天真。。。里面还是没有。实际上还是Datagridview 控件放到窗体中,然后修改设计器里(designer.cs)的代码 this.dataGridView1 = new AdvancedDataGridView.TreeGridView();将原本的Datagridview类型修改成我们要的TreeGridView类型。
  • 根据业务内容,添加4列,如图:第一列是图片列,可以添加imagelist;第二列(实际上应该叫第一列),必须选择类型为TreeGridColumn,否则没有办法添加节点(比如说这列类型textbox,下列选TreeGrid就不行)
    在这里插入图片描述

节点添加

这个控件的列是分离的,第一列设定了是节点列,所以父子关系会在这列显示,其他的列数据可以看情况添加。

  TreeGridNode node = dataGridView1.Nodes.Add(null,"1","父节点","第一行","第五列");
  TreeGridNode node1 =node.Nodes.Add (null,"2","子节点");

在这里插入图片描述
添加模式就是从第一列往后放,没有就不填,超出列的话就添加不上了(也不会报错,直接就是空的)。

行号添加

由于第一列不能放textbox列,所以只能用headercell。需要设置ColumnHeaderVisible属性,然后调用RowStateChanged事件

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值