我有一个函数
public void AddTree(long ParentID,TreeNode pNode)
{
DataTable dt_tmp=(DataTable) this.ViewState["dt_tmp"];
DataView dvTree = new DataView(dt_tmp);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[nvrParentCode] = " + ParentID; foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点 Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString();
tvw_BomSetting.Nodes.Add(Node);
Node.Expanded=true;
AddTree(Int64.Parse(Row["nvrGenCode"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString()+"";
pNode.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Int64.Parse(Row["nvrGenCode"].ToString()),Node); //再次递归
}
}
}
调用的方法是AddTree(0, (TreeNode)null);
现在想把传入参数long改为string,应该怎么改?
public void AddTree(long ParentID,TreeNode pNode)
{
DataTable dt_tmp=(DataTable) this.ViewState["dt_tmp"];
DataView dvTree = new DataView(dt_tmp);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[nvrParentCode] = " + ParentID; foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点 Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString();
tvw_BomSetting.Nodes.Add(Node);
Node.Expanded=true;
AddTree(Int64.Parse(Row["nvrGenCode"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString()+"";
pNode.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Int64.Parse(Row["nvrGenCode"].ToString()),Node); //再次递归
}
}
}
调用的方法是AddTree(0, (TreeNode)null);
现在想把传入参数long改为string,应该怎么改?
解决方案 »
- Ajax.dll在.net framework 3.5 及 IIS 7.0 中出错
- 不管什么 只要能帮我实现文本编辑器图片上传就OK ckeditor FCKeditor
- ASP.NET输出数据=与#的区别有些什么及如何在ASPX里面怎么智能显示变量与字段
- 导出为PDF格式
- 小弟遇到一个怪问题!
- 紧急求救 asp.net2.0 点击所有的按钮都没反应,怎么回事,顶者有分
- 求一段鼠标滚轮控制图片伸缩的JS代码
- javascript与session
- 如何才能在提交时判断文本框中是否有HTML标签?
- 有谁能详细介绍一下XMLHttp调用webservice实现不刷网页获取数据?
- 奇怪问题
- 求asp.net(c#)教程(ppt)
{
DataTable dt_tmp=(DataTable) this.ViewState["dt_tmp"];
DataView dvTree = new DataView(dt_tmp);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[nvrParentCode] = '" + ParentID + "'";//这里修改一下 foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点 Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString();
tvw_BomSetting.Nodes.Add(Node);
Node.Expanded=true;
AddTree(Int64.Parse(Row["nvrGenCode"].ToString()), Node); //再次递归
}
else
{ //添加当前节点的子节点
Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString()+"";
pNode.Nodes.Add(Node);
Node.Expanded = true;
AddTree(Int64.Parse(Row["nvrGenCode"].ToString()),Node); //再次递归
}
}
}
Int64.Parse
该怎么改呢?
AddTree(0, (TreeNode)null)也有问题
参数“1” : 无法从“int”转换为“string”
2. AddTree("0", (TreeNode)null);
Int64.Parse
该怎么改呢?
AddTree(0, (TreeNode)null)也有问题
参数“1” : 无法从“int”转换为“string”
{
DataTable dt_tmp=(DataTable) this.ViewState["dt_tmp"];
DataView dvTree = new DataView(dt_tmp);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "[nvrParentCode] = " + ParentID.ToString();foreach(DataRowView Row in dvTree)
{
TreeNode Node=new TreeNode() ;
if(pNode == null)
{ //添加根节点 Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString();
Node.Type =Row["nvrGenCode"].ToString();
// Node.Parent=Row["nvrParentCode"].ToString();
tvw_BomSetting.Nodes.Add(Node);
Node.Expanded=true;
// AddTree(String.Parse(Row["nvrGenCode"].ToString()), Node); //再次递归
AddTree(Row["nvrGenCode"].ToString(),Node);
}
else
{ //添加当前节点的子节点
Node.Text = Row["nvrNameC"].ToString();
Node.NodeData =Row["nvrNameE"].ToString();
Node.Type =Row["nvrGenCode"].ToString();
// Node.Parent=Row["nvrParentCode"].ToString();
pNode.Nodes.Add(Node);
Node.Expanded = true;// AddTree(Int64.Parse(Row["nvrGenCode"].ToString()),Node); //再次递归
AddTree(Row["nvrGenCode"].ToString(),Node);
}
}
}
这个是我最新改的,好象还是有问题
应用程序中的服务器错误。
--------------------------------------------------------------------------------无法在 System.String 和 System.Int32 上执行“=”操作。
dvTree.RowFilter = "[nvrParentCode] = " + ParentID.ToString();