最新评论
re: TreeView树形删除、添加、移动、修改的四个功能目录树 疯狂年代 2009-05-28 21:18
接上贴:
C# code
protected void cancle_Click(object sender, EventArgs e)
{
TreeView1.Enabled = true;
delete.Enabled = true;
addnew.Enabled = true;
edit.Enabled = true;
Panel1.Enabled = false;
Hoperate.Value = "begin";//将操作命令回复到初始状态
}
protected void delete_Click(object sender, EventArgs e)
{
//如果用户没有选择节点,则出错误提示
if (placeno.Text == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckedBeforDelete", "alert('请选择一个机构再进行删除!');", true);
return;
}
//如果用户要删除下属机构非空的机构,则给出错误提示
if (TreeView1.SelectedNode.ChildNodes.Count != 0)
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "chkBeforDelParentNode", "alert('该机构有下属机构,请删除所有下属机构后再删除此机构!');", true);
return;
}
//操作命令设置为delete
Hoperate.Value = "delete";
//保存要删除的节点的placeno
ParentPlaceIDInLabel.Text = TreeView1.SelectedNode.Value.ToString();
//点“删除”的时候
TreeView1.Enabled = false;
delete.Enabled = false;
addnew.Enabled = false;
edit.Enabled = false;
Panel1.Enabled = true;
}
protected void addnew_Click(object sender, EventArgs e)
{
//如果用户没有选择节点,则出错误提示
if (placeno.Text == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckedBeforAdd", "alert('请选择要添加的机构的上级机构!');", true);
return;
}
//操作命令设置为:添加
//清空机构名称,机构编号、联系人、电话和地址:
placename.Text = "";
placeno.Text = "";
memo.Text = "";
phone.Text = "";
contact.Text = "";
parentPlaceName.Text = "";
//清空结束
//设置要添加节点的父节点为当前被选中的节点。
parentPlaceName.Text = TreeView1.SelectedNode.Text.ToString();
//设置要添加机构的机构编号和上级机构名称
string newid = "";//
//如果被选中节点无子节点,则直接把编号设置为该节点编号后加“01”,若有子节点,则取最大子节点编号,如果读取的编号的最后两位是'99',则报错。否则,把结果+1作为新节点的编号。
if (TreeView1.SelectedNode.ChildNodes.Count == 0)
{
placeno.Text = TreeView1.SelectedNode.Value.ToString() + "01";
}
//如果该节点有子节点,则从数据库中读取第一个空闲的机构编号
else
{
//获取空闲的第一个机构编号
int tmp = 0;
int tmp2 = 0;
string tmpstr = "", lastno = "";
SqlConnection getFreePNOCONN = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ConnectionString);
SqlCommand getFreePNOCMD = new SqlCommand("select placeno from placeinfo where parentplaceid ='" + TreeView1.SelectedNode.Value.ToString() + "' order by placeno asc", getFreePNOCONN);
getFreePNOCONN.Open();
SqlDataReader rdFreePNO = getFreePNOCMD.ExecuteReader();
while (rdFreePNO.Read())
{
tmpstr = rdFreePNO[0].ToString().Trim().Remove(0, TreeView1.SelectedNode.Value.ToString().Length);
tmp2 = int.Parse(tmpstr);
tmp++;
if (tmp != tmp2)
break;
}
rdFreePNO.Close();
getFreePNOCONN.Close();
if (tmp == 99)
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "MaxPlaceNoIsEndError", "alert('系统错误!\r机构编号已经超过最大值:“99”,\r请联系技术人员对数据库里的机构编号进行调整!');", true);
return;
}
if (tmp == tmp2)
tmp++;
lastno = tmp.ToString();
if (tmp < 10)
lastno = "0" + tmp.ToString();
//获取空闲的第一个机构编号结束
placeno.Text = TreeView1.SelectedNode.Value.ToString() + lastno;
}//end of else
ParentPlaceIDInLabel.Text = TreeView1.SelectedNode.Value.ToString();
//检查placeno的合法性
if (placeno.Text.ToString().Trim() == "" || ParentPlaceIDInLabel.Text.ToString().Trim()=="" || (!(placeno.Text.ToString().Trim().StartsWith(TreeView1.SelectedNode.Value.ToString()))))
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "PlacenoErrorBeforAdd", "alert('机构编号错误,请返回重新添加!');", true);
return;
}
//点“新建”的时候
TreeView1.Enabled = false;
delete.Enabled = false;
addnew.Enabled = false;
edit.Enabled = false;
Panel1.Enabled = true;
Hoperate.Value = "add";
}
}
C# code
protected void cancle_Click(object sender, EventArgs e)
{
TreeView1.Enabled = true;
delete.Enabled = true;
addnew.Enabled = true;
edit.Enabled = true;
Panel1.Enabled = false;
Hoperate.Value = "begin";//将操作命令回复到初始状态
}
protected void delete_Click(object sender, EventArgs e)
{
//如果用户没有选择节点,则出错误提示
if (placeno.Text == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckedBeforDelete", "alert('请选择一个机构再进行删除!');", true);
return;
}
//如果用户要删除下属机构非空的机构,则给出错误提示
if (TreeView1.SelectedNode.ChildNodes.Count != 0)
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "chkBeforDelParentNode", "alert('该机构有下属机构,请删除所有下属机构后再删除此机构!');", true);
return;
}
//操作命令设置为delete
Hoperate.Value = "delete";
//保存要删除的节点的placeno
ParentPlaceIDInLabel.Text = TreeView1.SelectedNode.Value.ToString();
//点“删除”的时候
TreeView1.Enabled = false;
delete.Enabled = false;
addnew.Enabled = false;
edit.Enabled = false;
Panel1.Enabled = true;
}
protected void addnew_Click(object sender, EventArgs e)
{
//如果用户没有选择节点,则出错误提示
if (placeno.Text == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckedBeforAdd", "alert('请选择要添加的机构的上级机构!');", true);
return;
}
//操作命令设置为:添加
//清空机构名称,机构编号、联系人、电话和地址:
placename.Text = "";
placeno.Text = "";
memo.Text = "";
phone.Text = "";
contact.Text = "";
parentPlaceName.Text = "";
//清空结束
//设置要添加节点的父节点为当前被选中的节点。
parentPlaceName.Text = TreeView1.SelectedNode.Text.ToString();
//设置要添加机构的机构编号和上级机构名称
string newid = "";//
//如果被选中节点无子节点,则直接把编号设置为该节点编号后加“01”,若有子节点,则取最大子节点编号,如果读取的编号的最后两位是'99',则报错。否则,把结果+1作为新节点的编号。
if (TreeView1.SelectedNode.ChildNodes.Count == 0)
{
placeno.Text = TreeView1.SelectedNode.Value.ToString() + "01";
}
//如果该节点有子节点,则从数据库中读取第一个空闲的机构编号
else
{
//获取空闲的第一个机构编号
int tmp = 0;
int tmp2 = 0;
string tmpstr = "", lastno = "";
SqlConnection getFreePNOCONN = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ConnectionString);
SqlCommand getFreePNOCMD = new SqlCommand("select placeno from placeinfo where parentplaceid ='" + TreeView1.SelectedNode.Value.ToString() + "' order by placeno asc", getFreePNOCONN);
getFreePNOCONN.Open();
SqlDataReader rdFreePNO = getFreePNOCMD.ExecuteReader();
while (rdFreePNO.Read())
{
tmpstr = rdFreePNO[0].ToString().Trim().Remove(0, TreeView1.SelectedNode.Value.ToString().Length);
tmp2 = int.Parse(tmpstr);
tmp++;
if (tmp != tmp2)
break;
}
rdFreePNO.Close();
getFreePNOCONN.Close();
if (tmp == 99)
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "MaxPlaceNoIsEndError", "alert('系统错误!\r机构编号已经超过最大值:“99”,\r请联系技术人员对数据库里的机构编号进行调整!');", true);
return;
}
if (tmp == tmp2)
tmp++;
lastno = tmp.ToString();
if (tmp < 10)
lastno = "0" + tmp.ToString();
//获取空闲的第一个机构编号结束
placeno.Text = TreeView1.SelectedNode.Value.ToString() + lastno;
}//end of else
ParentPlaceIDInLabel.Text = TreeView1.SelectedNode.Value.ToString();
//检查placeno的合法性
if (placeno.Text.ToString().Trim() == "" || ParentPlaceIDInLabel.Text.ToString().Trim()=="" || (!(placeno.Text.ToString().Trim().StartsWith(TreeView1.SelectedNode.Value.ToString()))))
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "PlacenoErrorBeforAdd", "alert('机构编号错误,请返回重新添加!');", true);
return;
}
//点“新建”的时候
TreeView1.Enabled = false;
delete.Enabled = false;
addnew.Enabled = false;
edit.Enabled = false;
Panel1.Enabled = true;
Hoperate.Value = "add";
}
}
re: TreeView树形删除、添加、移动、修改的四个功能目录树 疯狂年代 2009-05-28 21:17
接上贴
C# code
protected void edit_Click(object sender, EventArgs e)
{
if (placeno.Text == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "PLSChecked", "alert('请选择一个机构再进行编辑!');", true);
return;
}
//点“编辑”的时候
TreeView1.Enabled = false;
delete.Enabled = false;
addnew.Enabled = false;
edit.Enabled = false;
Panel1.Enabled = true;
Hoperate.Value = "edit";//告诉ok按钮:要进行的是编辑操作
}
protected void ok_Click(object sender, EventArgs e)
{
//定义变量,用来执行数据库操作
SqlConnection execconn = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmsSup_BSConnectionString"].ConnectionString.ToString());
string execcmdtxt = "";
//根据Hoperate.Value判断要进行何种操作
if (Hoperate.Value == "add")
{
//执行添加操作
//已经在客户端检查用户输入的合法性
//检查机构名称是否为空
if (placename.Text.ToString().Trim() == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckPName", "alert('请填写机构名称!');", true);
Panel1.Enabled = true;//如果不加这一句,则弹出提示之后就各个控件都不可用
return;
}
else
execcmdtxt = "insert into placeinfo (placeno,placename,placememo,contact,phone,parentplaceid) values ('" + placeno.Text.ToString().Trim() + "','" + placename.Text.ToString().Trim() + "','" + memo.Text.ToString().Trim() + "','" + contact.Text.ToString().Trim() + "','" + phone.Text.ToString().Trim() + "','" +ParentPlaceIDInLabel.Text.ToString()+ "')";
}//执行添加操作结束
else
if (Hoperate.Value == "edit")
{
//执行编辑操作
//如果机构名称为空,则给出错误提示
if (placename.Text.ToString() == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckPNameBeforEdit", "alert('请填写机构名称!');", true);
Panel1.Enabled = true;//如果不加这一句,则弹出提示之后就各个控件都不可用
return;
}
else
execcmdtxt = "update placeinfo set placename='" + placename.Text.ToString().Trim() + "',placememo='" + memo.Text.ToString().Trim() + "',contact='" + contact.Text.ToString().Trim() + "',phone='"+phone.Text.ToString().Trim()+"' where placeno='"+placeno.Text.ToString()+"'";
} //执行编辑操作结束
else
if (Hoperate.Value == "delete")
{
//执行删除操作
execcmdtxt = "delete from placeinfo where placeno='"+ParentPlaceIDInLabel.Text.ToString()+"'";
}//执行删除操作结束
else
{
//如果既不是“新建”也不是“修改”也不是“删除”的话,则报错
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "OperateError", "alert('系统错误!');", true);
return;
}
//执行数据库操作
if (execcmdtxt == "")
{
ParentPlaceIDInLabel.Text = "";//清空临时label的值
return;
}
else
{
try
{
execconn.Open();
SqlCommand execcmd = new SqlCommand(execcmdtxt, execconn);
execcmd.ExecuteNonQuery();
}
catch (Exception ex2)
{
throw new Exception(ex2.Message + "%SQLtxt" + execcmdtxt + "%UserName" + Session["UserID"].ToString());
}
finally
{
execconn.Close();
CommonExecute.MakeLog(Session["UserID"].ToString(), execcmdtxt, Hoperate.Value);//添加日志记录
ParentPlaceIDInLabel.Text = "";//清空临时label的值
}
}
//给出操作成功提示
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "execSucess", "alert('操作成功!');", true);
//设置各控件的可用性
TreeView1.Enabled = true;
delete.Enabled = true;
addnew.Enabled = true;
edit.Enabled = true;
Panel1.Enabled = false;
Hoperate.Value = "begin";//将操作命令回复到初始状态
//刷新树
SqlConnection conn2 = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ToString());
SqlCommand cmd2 = new SqlCommand("select placeno,placename,parentplaceid from placeinfo where placeno like '" + Session["UserNamePlaceIDLike"].ToString() + "'", conn2);
SqlDataAdapter sad = new SqlDataAdapter(cmd2);
ds.Clear();//清空dataset
sad.Fill(ds);//填充dataset
TreeView1.Nodes.Clear();//清空树结构
AddNode(Session["UserNameParentPlaceID"].ToString(), (TreeNode)null, TreeView1);
TreeView1.ExpandAll();//展开所有的节点
//清空机构名称,机构编号、联系人、电话和地址:
placename.Text = "";
placeno.Text = "";
memo.Text = "";
phone.Text = "";
contact.Text = "";
parentPlaceName.Text = "";
//清空结束
}
C# code
protected void edit_Click(object sender, EventArgs e)
{
if (placeno.Text == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "PLSChecked", "alert('请选择一个机构再进行编辑!');", true);
return;
}
//点“编辑”的时候
TreeView1.Enabled = false;
delete.Enabled = false;
addnew.Enabled = false;
edit.Enabled = false;
Panel1.Enabled = true;
Hoperate.Value = "edit";//告诉ok按钮:要进行的是编辑操作
}
protected void ok_Click(object sender, EventArgs e)
{
//定义变量,用来执行数据库操作
SqlConnection execconn = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmsSup_BSConnectionString"].ConnectionString.ToString());
string execcmdtxt = "";
//根据Hoperate.Value判断要进行何种操作
if (Hoperate.Value == "add")
{
//执行添加操作
//已经在客户端检查用户输入的合法性
//检查机构名称是否为空
if (placename.Text.ToString().Trim() == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckPName", "alert('请填写机构名称!');", true);
Panel1.Enabled = true;//如果不加这一句,则弹出提示之后就各个控件都不可用
return;
}
else
execcmdtxt = "insert into placeinfo (placeno,placename,placememo,contact,phone,parentplaceid) values ('" + placeno.Text.ToString().Trim() + "','" + placename.Text.ToString().Trim() + "','" + memo.Text.ToString().Trim() + "','" + contact.Text.ToString().Trim() + "','" + phone.Text.ToString().Trim() + "','" +ParentPlaceIDInLabel.Text.ToString()+ "')";
}//执行添加操作结束
else
if (Hoperate.Value == "edit")
{
//执行编辑操作
//如果机构名称为空,则给出错误提示
if (placename.Text.ToString() == "")
{
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "CheckPNameBeforEdit", "alert('请填写机构名称!');", true);
Panel1.Enabled = true;//如果不加这一句,则弹出提示之后就各个控件都不可用
return;
}
else
execcmdtxt = "update placeinfo set placename='" + placename.Text.ToString().Trim() + "',placememo='" + memo.Text.ToString().Trim() + "',contact='" + contact.Text.ToString().Trim() + "',phone='"+phone.Text.ToString().Trim()+"' where placeno='"+placeno.Text.ToString()+"'";
} //执行编辑操作结束
else
if (Hoperate.Value == "delete")
{
//执行删除操作
execcmdtxt = "delete from placeinfo where placeno='"+ParentPlaceIDInLabel.Text.ToString()+"'";
}//执行删除操作结束
else
{
//如果既不是“新建”也不是“修改”也不是“删除”的话,则报错
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "OperateError", "alert('系统错误!');", true);
return;
}
//执行数据库操作
if (execcmdtxt == "")
{
ParentPlaceIDInLabel.Text = "";//清空临时label的值
return;
}
else
{
try
{
execconn.Open();
SqlCommand execcmd = new SqlCommand(execcmdtxt, execconn);
execcmd.ExecuteNonQuery();
}
catch (Exception ex2)
{
throw new Exception(ex2.Message + "%SQLtxt" + execcmdtxt + "%UserName" + Session["UserID"].ToString());
}
finally
{
execconn.Close();
CommonExecute.MakeLog(Session["UserID"].ToString(), execcmdtxt, Hoperate.Value);//添加日志记录
ParentPlaceIDInLabel.Text = "";//清空临时label的值
}
}
//给出操作成功提示
ScriptManager.RegisterClientScriptBlock(UpdatePanel1, typeof(UpdatePanel), "execSucess", "alert('操作成功!');", true);
//设置各控件的可用性
TreeView1.Enabled = true;
delete.Enabled = true;
addnew.Enabled = true;
edit.Enabled = true;
Panel1.Enabled = false;
Hoperate.Value = "begin";//将操作命令回复到初始状态
//刷新树
SqlConnection conn2 = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ToString());
SqlCommand cmd2 = new SqlCommand("select placeno,placename,parentplaceid from placeinfo where placeno like '" + Session["UserNamePlaceIDLike"].ToString() + "'", conn2);
SqlDataAdapter sad = new SqlDataAdapter(cmd2);
ds.Clear();//清空dataset
sad.Fill(ds);//填充dataset
TreeView1.Nodes.Clear();//清空树结构
AddNode(Session["UserNameParentPlaceID"].ToString(), (TreeNode)null, TreeView1);
TreeView1.ExpandAll();//展开所有的节点
//清空机构名称,机构编号、联系人、电话和地址:
placename.Text = "";
placeno.Text = "";
memo.Text = "";
phone.Text = "";
contact.Text = "";
parentPlaceName.Text = "";
//清空结束
}
re: TreeView树形删除、添加、移动、修改的四个功能目录树 疯狂年代 2009-05-28 21:17
C# code
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
placeno.Text = "";
placename.Text = "";
memo.Text = "";
contact.Text = "";
phone.Text = "";
parentPlaceName.Text = "";
//填充数据
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("select * from placeinfo where placeno='" + TreeView1.SelectedNode.Value.ToString() + "'", conn);
try
{
conn.Open();
SqlDataReader rdPlaceInfo = cmd.ExecuteReader();
while (rdPlaceInfo.Read())
{
placeno.Text = rdPlaceInfo["placeno"].ToString();
placename.Text = rdPlaceInfo["placename"].ToString();
memo.Text = rdPlaceInfo["placememo"].ToString();
contact.Text = rdPlaceInfo["contact"].ToString();
phone.Text = rdPlaceInfo["phone"].ToString();
}
}
catch (Exception e2)
{
throw new Exception(e2.Message + "%SQLtxt" + cmd.CommandText + "%UserName" + Session["UserID"].ToString());
}
finally
{
conn.Close();
}
SqlCommand cmd2 = new SqlCommand("select placename from placeinfo where placeno = (select parentplaceid from placeinfo where placeno='" + TreeView1.SelectedNode.Value.ToString() + "')", conn);
try
{
conn.Open();
SqlDataReader rdparentplaccename = cmd2.ExecuteReader();
while (rdparentplaccename.Read())
{
if (rdparentplaccename["placename"] == null)
{
return;
}
else
{
parentPlaceName.Text = rdparentplaccename["placename"].ToString();
}
}
}
catch (Exception e2)
{
throw new Exception(e2.Message + "%SQLtxt" + cmd2.CommandText + "%UserName" + Session["UserID"].ToString());
}
finally
{
conn.Close();
}
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
placeno.Text = "";
placename.Text = "";
memo.Text = "";
contact.Text = "";
phone.Text = "";
parentPlaceName.Text = "";
//填充数据
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("select * from placeinfo where placeno='" + TreeView1.SelectedNode.Value.ToString() + "'", conn);
try
{
conn.Open();
SqlDataReader rdPlaceInfo = cmd.ExecuteReader();
while (rdPlaceInfo.Read())
{
placeno.Text = rdPlaceInfo["placeno"].ToString();
placename.Text = rdPlaceInfo["placename"].ToString();
memo.Text = rdPlaceInfo["placememo"].ToString();
contact.Text = rdPlaceInfo["contact"].ToString();
phone.Text = rdPlaceInfo["phone"].ToString();
}
}
catch (Exception e2)
{
throw new Exception(e2.Message + "%SQLtxt" + cmd.CommandText + "%UserName" + Session["UserID"].ToString());
}
finally
{
conn.Close();
}
SqlCommand cmd2 = new SqlCommand("select placename from placeinfo where placeno = (select parentplaceid from placeinfo where placeno='" + TreeView1.SelectedNode.Value.ToString() + "')", conn);
try
{
conn.Open();
SqlDataReader rdparentplaccename = cmd2.ExecuteReader();
while (rdparentplaccename.Read())
{
if (rdparentplaccename["placename"] == null)
{
return;
}
else
{
parentPlaceName.Text = rdparentplaccename["placename"].ToString();
}
}
}
catch (Exception e2)
{
throw new Exception(e2.Message + "%SQLtxt" + cmd2.CommandText + "%UserName" + Session["UserID"].ToString());
}
finally
{
conn.Close();
}
}
re: TreeView树形删除、添加、移动、修改的四个功能目录树 疯狂年代 2009-05-28 21:17
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class deptree : System.Web.UI.Page
{
DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"] == null || Session["LogState"] == null)
{
Response.Redirect("error.aspx?id=1");
}
//如果用户不是机构管理员,则不能进行此项操作
if (Session["UserTYpe"].ToString() != "2")
Response.Redirect("error.aspx?id=3");
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("select placeno,placename,parentplaceid from placeinfo where placeno like '" + Session["UserNamePlaceIDLike"].ToString() + "'", conn);
SqlDataAdapter sad = new SqlDataAdapter(cmd);
sad.Fill(ds);
if (!IsPostBack)
{
AddNode(Session["UserNameParentPlaceID"].ToString(), (TreeNode)null, TreeView1);//应将此处的父节点编号替换为用户所在机构的上级机构的编号
}
Panel1.Enabled = false;
}
protected void AddNode(string ParentKey, TreeNode pNode, TreeView myTreeView)
{
DataView dvTree = new DataView(ds.Tables[0]);
dvTree.RowFilter = "[ParentplaceID] = " + ParentKey; //过滤ParentID,得到所有子节点
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{
Node.Text = Row["placeName"].ToString().Trim();
myTreeView.Nodes.Add(Node);
//Node.Expanded = true;
Node.Value = Row["placeno"].ToString().Trim();
Node.SelectAction = TreeNodeSelectAction.Select;
AddNode(Row["placeno"].ToString(), Node, myTreeView); //递归调用生成节点
}
else
{
Node.Text = Row["placename"].ToString().Trim();
pNode.ChildNodes.Add(Node);
Node.Expanded = true;
Node.Value = Row["placeno"].ToString().Trim();
Node.SelectAction = TreeNodeSelectAction.Select;
AddNode(Row["placeno"].ToString(), Node, myTreeView); //递归生成节点
}
}
}
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class deptree : System.Web.UI.Page
{
DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserName"] == null || Session["LogState"] == null)
{
Response.Redirect("error.aspx?id=1");
}
//如果用户不是机构管理员,则不能进行此项操作
if (Session["UserTYpe"].ToString() != "2")
Response.Redirect("error.aspx?id=3");
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["iqmssup_bsConnectionString"].ToString());
SqlCommand cmd = new SqlCommand("select placeno,placename,parentplaceid from placeinfo where placeno like '" + Session["UserNamePlaceIDLike"].ToString() + "'", conn);
SqlDataAdapter sad = new SqlDataAdapter(cmd);
sad.Fill(ds);
if (!IsPostBack)
{
AddNode(Session["UserNameParentPlaceID"].ToString(), (TreeNode)null, TreeView1);//应将此处的父节点编号替换为用户所在机构的上级机构的编号
}
Panel1.Enabled = false;
}
protected void AddNode(string ParentKey, TreeNode pNode, TreeView myTreeView)
{
DataView dvTree = new DataView(ds.Tables[0]);
dvTree.RowFilter = "[ParentplaceID] = " + ParentKey; //过滤ParentID,得到所有子节点
foreach (DataRowView Row in dvTree)
{
TreeNode Node = new TreeNode();
if (pNode == null)
{
Node.Text = Row["placeName"].ToString().Trim();
myTreeView.Nodes.Add(Node);
//Node.Expanded = true;
Node.Value = Row["placeno"].ToString().Trim();
Node.SelectAction = TreeNodeSelectAction.Select;
AddNode(Row["placeno"].ToString(), Node, myTreeView); //递归调用生成节点
}
else
{
Node.Text = Row["placename"].ToString().Trim();
pNode.ChildNodes.Add(Node);
Node.Expanded = true;
Node.Value = Row["placeno"].ToString().Trim();
Node.SelectAction = TreeNodeSelectAction.Select;
AddNode(Row["placeno"].ToString(), Node, myTreeView); //递归生成节点
}
}
}
re: TreeView树形删除、添加、移动、修改的四个功能目录树 疯狂年代 2009-05-28 21:17
PS:
数据库结构啥的:
SQL code
USE [psBankOfChina]
GO
/****** 对象: Table [dbo].[PlaceInfo] 脚本日期: 03/25/2009 19:28:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[PlaceInfo](
[PlaceNo] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[PlaceName] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[PlaceMemo] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[Contact] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
[Phone] [varchar](15) COLLATE Chinese_PRC_CI_AS NULL,
[ParentPlaceId] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_placeInfo] PRIMARY KEY CLUSTERED
(
[PlaceNo] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
数据库结构啥的:
SQL code
USE [psBankOfChina]
GO
/****** 对象: Table [dbo].[PlaceInfo] 脚本日期: 03/25/2009 19:28:27 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[PlaceInfo](
[PlaceNo] [varchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[PlaceName] [varchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[PlaceMemo] [varchar](100) COLLATE Chinese_PRC_CI_AS NULL,
[Contact] [varchar](200) COLLATE Chinese_PRC_CI_AS NULL,
[Phone] [varchar](15) COLLATE Chinese_PRC_CI_AS NULL,
[ParentPlaceId] [varchar](10) COLLATE Chinese_PRC_CI_AS NULL,
CONSTRAINT [PK_placeInfo] PRIMARY KEY CLUSTERED
(
[PlaceNo] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
re: WinForm下Splash(启动画面)制作 温景良(Jason) 2009-05-14 00:16
收藏
