欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Winform中双击DevExpress的TreeList的树形节点怎样获取当前节点

程序员文章站 2022-06-07 12:20:21
场景 DevExpress的TreeList怎样设置数据源,从实例入手: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102548490 鼠标双击TreeList中的某一节点,在双击事件中怎样获取当前节点。 注: 博客主页: h ......

场景

devexpress的treelist怎样设置数据源,从实例入手:

https://blog.csdn.net/badao_liumang_qizhi/article/details/102548490

鼠标双击treelist中的某一节点,在双击事件中怎样获取当前节点。

注:

博客主页:

关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

双击事件绑定

treelist.mousedoubleclick += treelist_mousedoubleclick_inone;

 

双击事件中

将sender作为treelist,再将treelist的数据源取出,是一个节点的list。

然后获取当前选中的树形节点的id属性

通过linq表达式获取与id想对应的节点,进而获取节点对象。

示例代码:

private static void treelist_mousedoubleclick_inone(object sender, system.windows.forms.mouseeventargs e)
        {
            if (e.button == system.windows.forms.mousebuttons.left)
            {
                devexpress.xtratreelist.treelist treelist = sender as devexpress.xtratreelist.treelist;
                if (treelist != null && treelist.selection.count == 1)
                {
                    object idvalue = null;
                    string stridvalue = string.empty;
                    datatreenode nodedata = null;
                    list<datatreenode> datasource = treelist.datasource as list<datatreenode>;
                    if (datasource != null)
                    {
                        idvalue = treelist.selection[0].getvalue("id");
                        stridvalue = idvalue.tostring();
                        nodedata = datasource.where<datatreenode>(p => p.id == stridvalue).firstordefault<datatreenode>();
                        if (nodedata != null)
                        {
                            
                        }
                    }
                }
            }
        }

 

其中datatreenode参考上面博客。