52 lines
1.8 KiB
C#
52 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace DataService.Model
|
|
{
|
|
public class zhc_fault_tree_node
|
|
{
|
|
public string tree_id { get; set; }
|
|
public string parent_id { get; set; }
|
|
public string name { get; set; }
|
|
public string dsc { get; set; }
|
|
public int state { get; set; }
|
|
public int position { get; set; }
|
|
public string logic_gate { get; set; }
|
|
|
|
public IList<zhc_fault_tree_node> node = new List<zhc_fault_tree_node>();
|
|
public void Addchildren(zhc_fault_tree_node node)
|
|
{
|
|
this.node.Add(node);
|
|
}
|
|
|
|
///建立树的递归方法
|
|
/// <param name="dtSource">数据源</param>
|
|
/// <param name="parentNode">父节点</param>
|
|
/// <param name="parentID">节点的归属ID</param>
|
|
public static void BindTree(DataTable dtSource, zhc_fault_tree_node treeNode)
|
|
{
|
|
DataRow[] rows = dtSource.Select(string.Format("parent_id='{0}'", treeNode.tree_id));
|
|
foreach (DataRow row in rows)
|
|
{
|
|
zhc_fault_tree_node tree = new zhc_fault_tree_node();
|
|
tree.tree_id = row["tree_id"].ToString();
|
|
tree.parent_id= row["parent_id"].ToString();
|
|
tree.name = row["name"].ToString();
|
|
tree.dsc = row["dsc"].ToString();
|
|
tree.state = int.Parse(row["state"].ToString());
|
|
tree.position = int.Parse(row["position"].ToString());
|
|
tree.logic_gate = row["logic_gate"].ToString();
|
|
|
|
//递归性质,函数内调用自身函数
|
|
BindTree(dtSource, tree);
|
|
//递归结束的终点条件
|
|
treeNode.node.Add(tree);
|
|
}
|
|
}
|
|
}
|
|
}
|