日期:2014-05-19  浏览次数:20873 次

当点击TreeView的复选框时,字符串累加赋值,当取消复选框时,字符串累减赋值
大家好,现在做了一个带checkbox的treeview,可以多项选择,当选中checkbox的时候,
lblName.text     += '| '+   tNode.ID.ToString().Replace( " ' ",   " ' ' ").Trim();
当取消checkbox的时候,应该是这个意思:lblName.text     -= '| '+   tNode.ID.ToString().Replace( " ' ",   " ' ' ").Trim();(去除checkbox的选中值),前者已经实现,但是后者系统提示string和string变量之间不能使用 "-= "去除字符串.

请问应该如何实现,谢谢,在线等.

代码如下

#region     节点的选中
private   void   TreeView1_Check(object   sender,   Microsoft.Web.UI.WebControls.TreeViewClickEventArgs   e)
{
    TreeNode   tn   =   ((Microsoft.Web.UI.WebControls.TreeView)sender).GetNodeFromIndex(e.Node);
    this.lblID.Text     += '| '+   tn.ID.ToString();
    this.Label3.Text   += '| '+   tn.Text;
    if(tn.Checked   )
        {
            ChickChildNode(tn);
          }
    else
          {
              ChickChildNodeFalse(tn);
          }
}

//子节点的选中
private   void   ChickChildNode(Microsoft.Web.UI.WebControls.TreeNode   treeNode)
{
    foreach(Microsoft.Web.UI.WebControls.TreeNode   tNode   in   treeNode.Nodes)
    {
          tNode.Checked=true;  
          ChickChildNode(tNode);
          this.lblID.Text     += '| '+   tNode.ID.ToString();
          this.Label3.Text   += '| '+tNode.Text;
      }
}
        //子节点的不选中
private   void   ChickChildNodeFalse(Microsoft.Web.UI.WebControls.TreeNode   treeNode)
{
    foreach(Microsoft.Web.UI.WebControls.TreeNode   tNode   in   treeNode.Nodes)
        {
tNode.Checked=false;
ChickChildNodeFalse(tNode);
this.lblID.Text     -=   '| '+   tNode.ID.ToString;
this.Label3.Text   -=   '| '+tNode.Text;
        }
}
#endregion


------解决方案--------------------
你可以这样做,把你想存储的信息存放在临时单元里,比如HashTable
在添加的时候添加进去,删除的时候从HashTable中删除,
然后按顺序重组字符串
------解决方案--------------------
你可以这样做,把你想存储的信息存放在临时单元里,比如HashTable
在添加的时候添加进去,删除的时候从HashTable中删除,
然后按顺序重组字符串
----------〉〉
Hashtable是无序的
你可以放在List中