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控件XtraTreeList的详细使用说明书。
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 ...
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...
DevExpress.XtraTreeList 树 DevExpress.XtraVerticalGrid 使用方法: 1.先将该类生成的Dll导入工程中 ,也可以不生成dll,把该类放到项目中就行了。 2.在你的From_Load()或者program.cs中实例化该类即可...
DevExpress.XtraTreeList.Localization.TreeListResLocalizer.Active = new Dxper.LocalizationCHS.Win.XtraTreeListCHS(); DevExpress.Office.Localization.OfficeResLocalizer.Active = new Dxper.LocalizationCHS...
在一般Winform开发的情况下,可以使用微软的TreeView控件,也可以使用DevExpress的TreeList控件进行数据的展示,本篇随笔主要介绍基于DevExpress的TreeList控件使用以及使用SearchControl对节点进行查询的操作。...
XtraTreeList 开发介绍 欢迎下载
The XtraTreeList Suite 是第一个为.net开发的树形列表控件生成软件。是一款多用途的数据可视化开发系统,能够把信息以树状或者网格状,或者两者结合起来显示。 serial: 0068-0044-6ECD3524-000121 4.DevExpress ...
URL: http://www.devexpress.com/ 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 ...
XtraTreeList Suite XtraVerticalGrid Suite XtraNavBar Suite ASPxGridView and Editors Suite eXpress Persistent Objects for .NET XtraPrinting Library XtraReports Suite XtraPivotGrid Suite XtraScheduler ...
XtraTreeList Suite XtraVerticalGrid Suite XtraNavBar Suite ASPxGridView and Editors Suite eXpress Persistent Objects for .NET XtraPrinting Library XtraReports Suite XtraPivotGrid Suite XtraScheduler ...
XtraTreeList Suite XtraVerticalGrid Suite XtraNavBar Suite ASPxGridView and Editors Suite eXpress Persistent Objects for .NET XtraPrinting Library XtraReports Suite XtraPivotGrid Suite XtraScheduler ...
主要介绍了DevExpress实现禁用TreeListNode CheckBox的方法,在项目开发中有应用价值,需要的朋友可以参考下
XtraTreeList Suite XtraVerticalGrid Suite XtraNavBar Suite ASPxGridView and Editors Suite eXpress Persistent Objects for .NET XtraPrinting Library XtraReports Suite XtraPivotGrid Suite XtraScheduler ...
XtraTreeList Suite XtraVerticalGrid Suite XtraNavBar Suite ASPxGridView and Editors Suite eXpress Persistent Objects for .NET XtraPrinting Library XtraReports Suite XtraPivotGrid Suite XtraScheduler ...
XtraTreeList Suite XtraVerticalGrid Suite XtraNavBar Suite ASPxGridView and Editors Suite eXpress Persistent Objects for .NET XtraPrinting Library XtraReports Suite XtraPivotGrid Suite XtraScheduler ...
XtraTreeList Suite XtraVerticalGrid Suite XtraNavBar Suite ASPxGridView and Editors Suite eXpress Persistent Objects for .NET XtraPrinting Library XtraReports Suite XtraPivotGrid Suite XtraScheduler ...