//跟新增类型没区别,只是父节点和级数有变化 private void barButtonItem_CreateSonType_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { g_propertyType = new MyPropertyType(); TreeListNode node = this.TreeList_Property.FocusedNode; this.DBOperType = "I"; //this.addflage = "0"; //无数据 if (node == null) { MessageBox.Show("请先选择类型"); } //一级节点 if (node != null && node.ParentNode == null) { g_propertyType.PROPERTYTYPE_ID = Guid.NewGuid().ToString(); g_propertyType.PROPERTYTYPE_PARENTID = node.GetValue("PROPERTYTYPE_ID").ToString(); g_propertyType.PROPERTYTYPE_IFDETAIL = "F"; g_propertyType.PROPERTYTYPE_GRADE = 2; } //非一级节点 if (node != null && node.ParentNode != null) { g_propertyType.PROPERTYTYPE_ID = Guid.NewGuid().ToString(); g_propertyType.PROPERTYTYPE_PARENTID = node.GetValue("PROPERTYTYPE_ID").ToString(); g_propertyType.PROPERTYTYPE_IFDETAIL = "F"; g_propertyType.PROPERTYTYPE_GRADE = Convert.ToInt32(node.GetValue("PROPERTYTYPE_GRADE")) + 1; } //状态修改 ChangeCardState(true); }
/// <summary> /// 循环绑定类型树 /// </summary> /// <param name="treeList"></param> /// <param name="treeNode"></param> /// <param name="propertyType"></param> /// <param name="propertyTypeList"></param> private void LoadPropertyTypeTreeNode(DevExpress.XtraTreeList.TreeList treeList, TreeListNode treeNode, MyPropertyType propertyType, List <MyPropertyType> propertyTypeList) { int grade = propertyType.PROPERTYTYPE_GRADE; string parentid = propertyType.PROPERTYTYPE_PARENTID; foreach (MyPropertyType item in propertyTypeList) { if (item.PROPERTYTYPE_PARENTID == parentid && item.PROPERTYTYPE_GRADE - grade == 1) { TreeListNode typeNode = treeList.AppendNode(new Object[] { item.PROPERTYTYPE_ID, item.PROPERTYTYPE_CODE, item.PROPERTYTYPE_NAME, item.PROPERTYTYPE_PARENTID, item.PROPERTYTYPE_IFDETAIL, item.PROPERTYTYPE_GRADE, item.PROPERTYTYPE_IFINVALID, item.PROPERTYTYPE_NOTE, item.PROPERTYTYPE_CREATETIME, item.PROPERTYTYPE_LASTMODIFIEDTIME, item.PROPERTYTYPE_MODIFICATIONTIMES, "PropertyType" }, null); typeNode.StateImageIndex = 0; //循环绑定子类型 LoadPropertyTypeTreeNode(treeList, typeNode, item, propertyTypeList); LoadPropertyInfoTreeNode(treeList, typeNode, item.PROPERTYTYPE_PROPERTYINFO); } } }