场景

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参考上面博客。