DevExpress控件,最近的项目里有用到·功能确实强大,一个控件抵的上以前vs自带控件的几个,算得上是复合控件的。今天来记下XtraTreeList 控件使用,备忘···
1.treeList1绑定数据
public void InitDate()
{
ds = SqlData.QueryDataSet("select deptid,name,code,rootid from dbo.bm_dept");
treeList1.OptionsBehavior.PopulateServiceColumns = true;
//this.treeList1.PopulateColumns();
this.treeList1.ParentFieldName = "rootid";
this.treeList1.KeyFieldName = "deptid";
this.treeList1.DataSource = ds.Tables[0];
}
其中的 this.treeList1.ParentFieldName = "rootid";
this.treeList1.KeyFieldName = "deptid";很重要 ParentFieldName 设置的字段是从属于KeyFieldName设置的字段的。如果A数据ParentFieldName 字段等于B数据的KeyFieldName字段,那A是B的子节点,设置成0 那A是根节点·
所以添加新数据时,要注意KeyFieldName字段的选择,确立从属关系··
2.修改时 具备XtraGridControl 列修改的功能
private void treeList1_CellValueChanged(object sender, DevExpress.XtraTreeList.CellValueChangedEventArgs e)
{
try
{
string colKey = e.Column.FieldName;
string sqlStr = "";
switch (colKey)
{
//select deptid,name,code,rootid from bm_dept
case "deptid":
sqlStr = string.Format("update bm_dept set {0}='{1}' where deptid='{2}'", colKey, e.Value, treeList1.FocusedNode.GetValue("deptid").ToString());
break;
case "name":
sqlStr = string.Format("update bm_dept set {0}='{1}' where deptid='{2}'", colKey, e.Value, treeList1.FocusedNode.GetValue("deptid").ToString());
break;
default:
break;
}
if (!sqlStr.Trim().Equals(""))
SqlData.ExecuteSql(sqlStr);
InitDate();
}
catch (Exception ex)
{
XtraMessageBox.Show(ex.Message.ToString());
}
}
3.删除功能 注意:treeList1.FocusedNode.GetValue("deptid").ToString() 获取行的列值
private void sBtnDel_Click(object sender, EventArgs e)
{
//if(treeList1.FocusedNode != null)
// treeList1.DeleteNode(treeList1.FocusedNode);
int deid = int.Parse(treeList1.FocusedNode.GetValue("deptid").ToString());
SqlDataReader dr = SqlData.QueryDataReader("select rootid from bm_dept");
while (dr.Read())
{
int rtid = int.Parse(dr["rootid"].ToString());
if ( rtid== deid)
{
MessageBox.Show("根节点不能删除!请先删除子节点。", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
}
if (treeList1.FocusedNode != null)
{
if (MessageBox.Show("确认删除嘛?", "系统提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Asterisk) == DialogResult.OK)
{
try
{
int i= SqlData.ExecuteSql("delete from bm_dept where deptid='" + treeList1.FocusedNode.GetValue("deptid").ToString() + "'");
if (i > 0)
{
InitDate();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
else
{ MessageBox.Show("请选择行", "系统提示"); }
}
4.TreeList 节点拖放
string mubiao tuo ;//全局变量
private void treeList1_DragDrop(object sender, DragEventArgs e)
{
DevExpress.XtraTreeList.TreeListHitInfo hi = treeList1.CalcHitInfo(treeList1.PointToClient(new Point(e.X, e.Y)));
mubiao = hi.Node.GetValue("deptid").ToString();
if (index == 0)
{
//MessageBox.Show("放到当前节点的下级");
string sql = string.Format("update bm_dept set rootid='{0}' where deptid='{1}'", mubiao, tuo);
SqlData.ExecuteSql(sql);
}
else
{
//MessageBox.Show("放到当前节点同级");
SqlDataReader dr = SqlData.QueryDataReader("select rootid from bm_dept where deptid='" + mubiao + "'");
dr.Read();
string roots=dr["rootid"].ToString();
string sql = string.Format("update bm_dept set rootid='{0}' where deptid='{1}'", roots, tuo);
SqlData.ExecuteSql(sql);
}
mubiao = "";
}
private void treeList1_DragEnter(object sender, DragEventArgs e)
{
tuo = treeList1.FocusedNode.GetValue("deptid").ToString();
}
private void treeList1_CalcNodeDragImageIndex(object sender, DevExpress.XtraTreeList.CalcNodeDragImageIndexEventArgs e)
{
index = e.ImageIndex;
}
分享到:
相关推荐
DevExpress控件V7.1完整版 包含如下程序集 AjaxControlToolkit.dll ConverToCn.cs DevBaseClassLib.dll DevClassLib.dll DevComponents.DotNetBar2.dll DevComponents.DotNetBar27.dll DevExpress.Data.v7.1...
DevExpress控件forC#-8.2完整版 --------------------------------- DevExpress.BonusSkins.v8.2.dll DevExpress.Charts.v8.2.Core.dll DevExpress.Data.v8.2.Compact.dll DevExpress.Data.v8.2.dll ...
DevExpress 7.3.5控件集合 ---------------------- DevExpress.Data.v7.3.dll DevExpress.Utils.v7.3.4.dll DevExpress.Utils.v7.3.dll DevExpress.Web.ASPxEditors.v7.3.dll DevExpress.Web.ASPxGridView....
首先,DevExpress控件覆盖了多种UI组件,如表格(GridView)、图表(ChartControl)、网格(GridControl)、报表(Report)、表单设计器(XtraEditors)等。这些控件不仅在功能上强大,而且在视觉效果上也表现出色,...
DevExpress控件提供了丰富的UI元素,可以极大地提高开发效率并提供专业的用户界面体验。 标签中提到了"DevExpress"、"DX .net控件"、"UI"和"源代码",这表示压缩包不仅包含编译后的控件库,可能还包含了源代码。...
DevExpress9.2完整版 包含如下控件集: ---------------- DevExpress.BonusSkins.v9.2.dll DevExpress.Charts.v9.2.Core.dll DevExpress.Data.v9.2.Compact.dll DevExpress.Data.v9.2.dll DevExpress.Data.v9.2...
The XtraTreeList Suite is the first comprehensive TreeList control for Visual Studio.NET. It was built from the ground up in C# and is optimized to take full advantage of the .NET Framework. The ...
XtraTreeList 是 DevExpress 开发的一款用于 Windows Forms 应用程序的高级树形控件,它提供了丰富的功能和自定义选项,适用于构建复杂的用户界面。该控件支持多种选择模式、自定义外观、事件处理以及数据绑定等特性...
DevExpress的TreeList控件是.NET开发中的一个强大工具,尤其在数据展示和操作上提供了丰富的功能。本示例主要关注如何使用TreeList进行深层复杂类型绑定,这在处理层次结构数据时非常有用,例如组织结构、文件系统...
DevExpress.XtraTreeList.Localization.TreeListResLocalizer.Active = new Dxper.LocalizationCHS.Win.XtraTreeListCHS(); DevExpress.Office.Localization.OfficeResLocalizer.Active = new Dxper.LocalizationCHS...
- DevExpress.XtraTreeList.v12.2.resources.dll:树形列表控件的汉化资源。 - ...等等 每个DLL或RESX文件对应DevExpress的一个特定组件或模块,它们是实现汉化的关键。 总的来说,DevExpress V12.2.5汉化包的使用...
`.Net Dev第三方控件`,特别是DevExpress中的`XtraTreeList`控件,是用于Windows Forms应用程序开发的强大工具。DevExpress是一家知名的控件提供商,提供了一系列专业且美观的控件,适用于各种开发需求。`...
在DevExpress程序中,TreeList控件是一个强大的工具,用于展示具有层次结构的数据。与微软的TreeView控件相比,TreeList控件提供了更多的功能和自定义选项,使得数据展示和管理更为便捷。本文将深入探讨如何在...
#### 一、DevExpress控件包简介 1. **DevExpress.XtraEditors.Controls** - 这个控件包包含了最常用的控件,如文本框(`TextEdit`)、下拉列表(`ComboBoxEdit`)、按钮(`SimpleButton`)等。 - **汉化要点**:...
对于描述中提到的DevExpress控件,如ListBox和TreeView,它们是高级的UI元素,提供了更多的定制选项和功能。DevExpress控件通常具有更好的性能和用户体验,但实现拖放功能时,可能需要利用其特有的API。 1. **启用...
在Windows Forms(Winforn)开发中,DevExpress控件库提供了丰富的UI组件,其中包括TreeList控件。TreeList控件可以展示数据的层次结构,常用于展现目录结构或组织架构等。本示例代码主要讲解如何利用C#编程语言和...
5. DevExpress.XtraTreeList.v11.2.dll:树形列表控件,适用于层级数据展示。 6. DevExpress.XtraPivotGrid.v11.2.dll:透视网格组件,用于数据分析和报告。 7. DevExpress.XtraVerticalGrid.v11.2.dll:垂直网格...
描述中提到,要使用这个自定义控件,你需要先安装DevExpress控件包 for vs2005。DevExpress是一家知名软件公司,提供一系列高效、高性能的.NET开发工具,包括UI控件、报表系统等。安装这个包后,你可以使用其提供的...
private void treeListLookUpEdit1_NodeDoubleClick(object sender, DevExpress.XtraTreeList.NodeEventArgs e) { if (e.Node.HasChildren) { treeListLookUpEdit1.CollapseNode(e.Node); } else { // 如果节点...
DevExpress 的 XtraTreeList 控件是一种高级数据呈现组件,专门设计用于在 Windows Forms 应用程序中显示层次化的数据集。该控件支持丰富的功能,包括数据绑定、编辑、排序、过滤、汇总以及自定义外观等。本文档旨在...