2003转到2005 treeview 的错误问题
protected ArrayList arAllDisplayId;
protected DataTable ol;
ArrayList ii=new ArrayList();
private void ShowAllControl(Control Ctl)
{
foreach(Control ctl in Ctl.Controls)
{
Response.Write(ctl.ClientID+" "+ctl.GetType().Name+"<br>");
if(ctl.HasControls())
ShowAllControl(ctl);
}
}
private void CreatTree(Person pPerson)
{
tvTree.ShowPlus=true; // 第一处
tvTree.ShowLines=true;
ol=dtHrbWebMode.Copy();
ol.Columns.Add("IsDisplay",typeof(bool));
ol.PrimaryKey=new DataColumn[]{ol.Columns["ModelID"]};
foreach(int row in pPerson.alRightList)
{
SetDisplay(row);
}
InitTree(tvTree.Nodes,0);
}
private void SetDisplay(int iUpOperateId)
{
DataRow row=ol.Rows.Find(iUpOperateId);
if(row["IsDisplay"].ToString()!="True")
{
row["IsDisplay"]=true;
}
if((int)(row["UpModelID"])!=0)
{
SetDisplay((int)row["UpModelID"]);
}
}
private void InitTree(TreeNodeCollection tnc,int parentID)
{
DataView dv=new DataView();
dv.Table=ol;
dv.RowFilter="UpModelID="+parentID.ToString()+" AND IsDisplay=True";
TreeNode tn;
foreach(DataRowView drv in dv)
{
tn=new TreeNode();
tn.Text=drv["ModelTitle"].ToString();
tn.NodeData=drv["ModelID"].ToString(); //第二处
if((bool)drv["IsLeaf"])
{
tn.Target="main";
tn.Checked=true;
tn.NavigateUrl=drv["PageUrl"].ToString()+"?lanmuId="+drv["ModelID"].ToString()+"&lanmuName="+drv["ModelTitle"].ToString();
}
tnc.Add(tn);
InitTree(tnc[tnc.Count-1].Nodes,(int)drv["ModelID"]);//第三处
}
}
protected void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!IsPostBack)
{
//this.HrbSpecial();
this.Label1.Text="所选记录由“"+this.Request["lanmuName"].ToString()+"”复制到";
this.SessionOK();
this.CreatTree((Person)this.Session["CurrentPerson"]);
}
}
private void FindCheck(TreeNodeCollection Nds)
{
foreach(TreeNode node in Nds)
{
if(node.Checked)
{
ii.Add(node.NodeData);//第四处
}
if(node.Nodes.Count!=0)//第五处
{
FindCheck(node.Nodes);// 第六处
}
}
}
这是2003里的 代码 转到2005里 出现六处错误 请大家帮我看看 初学啊 !!