场景
DevExpress的TreeList怎样设置数据源,从实例入手:
鼠标双击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参考上面博客。