RuralPowerCompetition_yizhe.../DataService/Model/zhc_fault_tree_node.cs

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);
}
}
}
}