Dev XtraTreeList 学习

本文转载:http://www.cnblogs.com/VincentLuo/archive/2012/01/06/2313983.html

复制代码

一、设置载请保留地址http://www.cnblogs.com/vincentluo

     使用dev的树控件(XtaTreeList)来显示有父子关系的分类,

数据库表中只要三列:ParentID,CategoryID,CategoryName;

将控件的属性ParentFieldName设置为ParentID,属性KeyFieldName设置为CategoryID;

先上图,如下图所示:

Dev XtraTreeList 学习

          点击Run Designer,先添加两列,设置他们的FieldName,这样用来绑定数据;分类编号的Visible=false可以进行隐藏;

如下图:

Dev XtraTreeList 学习

 

二、绑定 载请保留地址http://www.cnblogs.com/vincentluo

      数据绑定很简单了

返回DataTable就可以了:

   private void BindCategories()
{
DataTable dt = Info.Get_Categories();
tlCategoryList.DataSource = dt;
}
三、操作载请保留地址http://www.cnblogs.com/vincentluo

      鼠标单击节点时,获取节点信息

复制代码
private string CategoryID = null;
private string CategoryName = null;
private void tlCategoryList_MouseDown(object sender, MouseEventArgs e)
{
#region 获取点击节点的信息
TreeListHitInfo hi = tlCategoryList.CalcHitInfo(e.Location);
TreeListNode CurrentNode = hi.Node;
if (CurrentNode != null)
{
CategoryID = CurrentNode.GetValue("CategoryID").ToString();
CategoryName = CurrentNode.GetValue("CategoryName").ToString();
}
#endregion
if (e.Button == MouseButtons.Left)//左键
{
//Do something
lblCategoryName.Text = CategoryName;
}
else if (e.Button == MouseButtons.Right)//右键
{
//Do something
}
}
复制代码

另:右键的弹出菜单使用了ContextMenuStrip,添加相关节点,绑定到XtaTreeList即可:设置XtaTreeList的ContextMenuStrip

菜单的单击事件:

复制代码
 private void treeShowMenu_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
ShowDialogForm sdf = new ShowDialogForm("提示","正在加载,请稍候......");
ToolStripItem item = e.ClickedItem;

if (item.Name == "MenuAddCategory")
{
CategoryEditFrm.GetInstance(-1,0);
}
if (item.Name == "MenuAddChildCategory")
{
CategoryEditFrm.GetInstance(int.Parse(CategoryID), 1);
}
if (item.Name == "MenuEditCategory")
{
CategoryEditFrm.GetInstance(int.Parse(CategoryID),2);
}
else if (item.Name == "MenuEditLink")
{
LinkEditFrm.GetInstance();
}
复制代码

然后进入编辑页面,如下图:

Dev XtraTreeList 学习

保存提示:(提示效果见:Dev 等待提示 WaitDialogForm 另外版

Dev XtraTreeList 学习

 

四、最后 转载请保留地址http://www.cnblogs.com/vincentluo

    dev 的XtraTreeList很强大,可以选择节点然后直接进行拖动,本篇暂时写这么多,如果有更新的会另开随笔记录下来,更多功能待发觉;

大家有更好的建议,请多多指导


转载请保留地址http://www.cnblogs.com/vincentluo

你可能感兴趣的:(list)