protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindJG();
}
}
private void BindJG()
{
DataSet ds = new DataSet();
DB c = new DB();
ds = c.GetAll("Tb_xt_jg");
DataTable dtb = ds.Tables[0];
TreeNode root = new TreeNode();
root.Value = "0";
root.Text = "";
root.ImageUrl = "../images/folder.gif";
root.Expanded = true;
this.TreeView1.Nodes.Add(root);
initTree(dtb, "", root);
this.TreeView1.ExpandAll();
}
protected void initTree(DataTable dt, string nFatherid, TreeNode fatherNode)
{
DataView dv = new DataView(dt); if (nFatherid == "")
dv.RowFilter = "depth='1'";
else
dv.RowFilter = "shangjjgbh='"+nFatherid+"'";
foreach (DataRowView Row in dv)
{
TreeNode node = new TreeNode();
if (fatherNode.Value == "0")//根节点
{
node.Value = Row["XTBH"].ToString();
node.Text = Row["mc"].ToString();
node.NavigateUrl = "";
node.ImageUrl = "../images/folder.gif";
fatherNode.ChildNodes.Add(node);
initTree(dt, Row["XTBH"].ToString(), node);//递归
}
else
{
node.Text = Row["mc"].ToString();
node.Value = Row["XTBH"].ToString();
node.ImageUrl = "../images/jg.gif";
fatherNode.ChildNodes.Add(node); }
} }
{
if (!IsPostBack)
{
BindJG();
}
}
private void BindJG()
{
DataSet ds = new DataSet();
DB c = new DB();
ds = c.GetAll("Tb_xt_jg");
DataTable dtb = ds.Tables[0];
TreeNode root = new TreeNode();
root.Value = "0";
root.Text = "";
root.ImageUrl = "../images/folder.gif";
root.Expanded = true;
this.TreeView1.Nodes.Add(root);
initTree(dtb, "", root);
this.TreeView1.ExpandAll();
}
protected void initTree(DataTable dt, string nFatherid, TreeNode fatherNode)
{
DataView dv = new DataView(dt); if (nFatherid == "")
dv.RowFilter = "depth='1'";
else
dv.RowFilter = "shangjjgbh='"+nFatherid+"'";
foreach (DataRowView Row in dv)
{
TreeNode node = new TreeNode();
if (fatherNode.Value == "0")//根节点
{
node.Value = Row["XTBH"].ToString();
node.Text = Row["mc"].ToString();
node.NavigateUrl = "";
node.ImageUrl = "../images/folder.gif";
fatherNode.ChildNodes.Add(node);
initTree(dt, Row["XTBH"].ToString(), node);//递归
}
else
{
node.Text = Row["mc"].ToString();
node.Value = Row["XTBH"].ToString();
node.ImageUrl = "../images/jg.gif";
fatherNode.ChildNodes.Add(node); }
} }
解决方案 »
- 有没有c#词典阿?
- C#后台关闭当前页面
- 如何使用在类库或控件库中的资源
- c#中网页地址的解码问题,
- 我类中有个Bitmap b成员变量,在很多函数中用b=new Bitmap()改变了b的指向,这样会很影响内存吗?
- 在C #中如何执行多条sql语句
- dataGridView中绑定的数据按照相同类别的收起在一个栏目下,点击+号,又可以展开,是怎么实现的?谢谢!
- 这样一个业务流程,该用什么样的数据库好?
- 关于使用directshow.net的问题.如何在录像的同时叠加当前时间呀?
- C#来合并多个不同目录下面的同名字的CSV文件
- 我服务程序的怪现象,白天晚上效果不同
- 怎么按指定格式从文件中读入float型数据
public static void ShowTViewOnlyOneTree(TreeView TView, int ShowType, int vShowDetail,string vID)
{
//定义数据库操作DLL
ClsSQL.ClsSQL Sql = new ClsSQL.ClsSQL();
//定义数据集
System.Data.DataSet Ds = new System.Data.DataSet(); string SqlStr = "";
TreeNode Node = null; Application.DoEvents();
TView.Nodes.Clear(); switch (ShowType)
{
case 0:
// 0--- 设备体系树
SqlStr = "SELECT SystemID AS ID, SystemName AS Context, CASE WHEN LEFT(SystemID, LEN(SystemID) - 3) = '' THEN '0' ELSE LEFT(SystemID, LEN(SystemID) - 3) END AS ParentID, 0 AS depth ,IsLeaf ,ShowID FROM Device_000_SystemTree WHERE CompanyID='" + OP.CompanyID + "'";
if (vID.Length > 0)
//AND ('01-004-001-001-001-001' LIKE ShowID + '%')
SqlStr += " and '" + vID + "' LIKE ShowID + '%'"; break;
}
//访问数据库,执行查询操作
if (!Sql.ExecAdapter(SqlStr, StrConnect)) return; //将查询出的数据赋给数据集
Sql.Adapter.Fill(Ds);
//释放数据连接
Sql.Adapter.Dispose();
//关闭数据连接
Sql.Close(); if (Ds.Tables[0].Rows.Count > 0)
{ AddTree(TView, "0", Node, ShowType, Ds, vShowDetail); }
Ds.Clear();
}
{
TreeNode Node = null; System.Data.DataView dvTree = new System.Data.DataView();
dvTree = new System.Data.DataView(Ds.Tables[0]);
switch (intI )
{
case 0:
dvTree.RowFilter = "ParentID = '" + ParentID.ToString() + "'";
break ;
default :
dvTree.RowFilter = "ParentID = " + ParentID.ToString();
break;
}
foreach (System.Data.DataRowView Row in dvTree)
{
if (pNode == null)
{
if (TView.Nodes.Count == 0)
{
switch (intI)
{
case 0:
Node = TView.Nodes.Add("设备体系树");
break;
case 1:
Node = TView.Nodes.Add("线路体系树");
break;
case 2:
Node = TView.Nodes.Add("燃料分类");
break;
case 3:
Node = TView.Nodes.Add("电力操作票");
break;
case 4:
Node = TView.Nodes.Add("检修项目");
break;
case 8:
Node = TView.Nodes.Add("个人权限树");
Node.ToolTipText = "双击末级节点,进行相应操作!";
Node.ImageIndex = 3; break;
case 10:
Node = TView.Nodes.Add("缺陷/故障编号");
break;
case 12:
Node = TView.Nodes.Add("巡视位置点");
break;
default :
Node = TView.Nodes.Add(Row["context"].ToString());
break;
}
}
else
{
Node = TView.Nodes[0];
} switch (intI)
{
case 5:
case 9:
break;
default :
Node = Node.Nodes.Add(Row["context"].ToString());
break;
} switch (intI)
{
case 0:
Node.Tag = Row["ShowID"].ToString();
break;
case 1:
Node.Tag = "SysTree";
break;
case 8:
//S100B.FormName + N'|' + S100B.Parameter
if (Row["FormDesc"].ToString().Length >0)
Node.ToolTipText = Row["context"].ToString() +":" + Row["FormDesc"].ToString(); if ( Row["FormName"].ToString().Length ==0)
{
Node.Tag = Row["ID"].ToString()+ '/' +"";
//Node.ImageIndex = 1;
}
else
{
Node.Tag = Row["ID"].ToString() + '/' + Row["FormName"].ToString() + '/' + Row["Parameter"].ToString();
// Node.ImageIndex = 2;
} //根据是否子节点,给定显示图像
if (Row["IsLeaf"].ToString() == "1")
{
Node.ImageIndex = 2;
}
else
{
Node.ImageIndex = 1;
} break;
default :
Node.Tag = Row["ID"].ToString();
//if (Row["IsLeaf"].ToString() == "1") Node.ForeColor = System.Drawing.Color.Blue; break; } if (vShowDetail > 0 && Row["IsLeaf"].ToString() == "1")
{
switch (intI)
{
case 0:
GetDeviceWithSystemID(Node, Row["ShowID"].ToString(), intI); break ;
default :
GetDeviceWithSystemID(Node, Row["ID"].ToString(), intI); break;
}
} AddTree(TView, (Row["ID"].ToString()), Node, intI, Ds, vShowDetail); }
else
{
Node = pNode.Nodes.Add(Row["context"].ToString());
switch (intI)
{
case 0:
Node.Tag = Row["ShowID"].ToString();
break;
case 1:
Node.Tag = "SysTree";
break;
case 8:
if (Row["FormDesc"].ToString().Length > 0)
Node.ToolTipText = Row["context"].ToString() + ":" + Row["FormDesc"].ToString(); //S100B.FormName + N'|' + S100B.Parameter
if (Row["FormName"].ToString().Length == 0)
{
Node.Tag = Row["ID"].ToString() + '/' + "";
// Node.ImageIndex = 1;
}
else
{
Node.Tag = Row["ID"].ToString() + '/' + Row["FormName"].ToString() + '/' + Row["Parameter"].ToString();
//Node.ImageIndex = 2;
} //根据是否子节点,给定显示图像
if (Row["IsLeaf"].ToString() == "1")
{
Node.ImageIndex = 2;
}
else
{
Node.ImageIndex = 1;
}
break;
default:
Node.Tag = Row["ID"].ToString();
//if (Row["IsLeaf"].ToString() == "1") Node.ForeColor = System.Drawing.Color.Blue;
break;
} //是否显示明细内容(并且是子节点)
if (vShowDetail > 0 && Row["IsLeaf"].ToString ()=="1")
{
switch (intI)
{
case 0:
GetDeviceWithSystemID(Node, Row["ShowID"].ToString(), intI); break;
default:
GetDeviceWithSystemID(Node, Row["ID"].ToString(), intI); break;
}
} AddTree(TView, (Row["ID"].ToString()), Node, intI, Ds, vShowDetail);
}
}
}