china/beijing/haidian
china/beijing/chaoyang
china/shanghai
.....
上面是些类似这样的字符串结构,
现在我想构造类似 这样的结构china
     beijing
            haidian
            chaoyang
     shanghai
请问有什么好的建议 谢谢

解决方案 »

  1.   

    DataSet ds=new DataSet();
    ds.Table["City"].Columns.Add("CityId");
    ds.Table["City"].Columns.Add("CityName");
    ds.Table["CityRelation"].Columns.Add("ParentCityId");
    ds.Table["CityRelation"].Columns.Add("ChildCityId");
    ds.Table["CityRelation"].Columns.Add("Sequence");
    然后把字符串填充进这个ds中
    在用个函数就能遍历出这样的结构了
    china
         beijing
                haidian
                chaoyang
         shanghai
      

  2.   

    楼上的是正解, 不过无给你一个更好的. 适合于像这样任何情况下的结构在Form1里 panel , treeView  , label1  的name =lbValue , label2  的name = lbTitle
     button1  , 
    在Form2里有:textBox1, textBox2 的NAME 分别为:tbTitle,tbValue , button 为OK在Form1里. 
          private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
            {
                if (e.Node != null)
                {
                    lbTitle.Text = e.Node.Text;
                    if (e.Node.Tag != null)
                    {
                        lbValue.Text = e.Node.Tag as string;                }
                    else
                    {
                        lbValue.Text = string.Empty;                }
                }
            }    private void button1_Click(object sender, EventArgs e)
            {
                using (Form2 form = new Form2())
                {
                    if (form.ShowDialog() == DialogResult.OK)
                    {
                        string title = form.Title;
                        string value = form.Value;                    if (tvTree.SelectedNode != null)
                        {
                            TreeNode node = tvTree.SelectedNode.Nodes.Add(title);                        node.Tag = value;
                        }
                    }
                }
    在Form2里:
          public string Title
            {
                get
                {
                    return tbTitle.Text;
                }
            }        public string Value
            {
                get
                {
                    return tbValue.Text;
                }
            }
      

  3.   

    请问下 读取字符串怎么构建这个字段的值呢?ds.Table["CityRelation"].Columns.Add("ParentCityId");
      

  4.   

    假设China为根节点 假设china节点ID为0
    ds.Tables["City"].Rows.Add(1,"beijing")
    ds.Tables["CityRelation"].Rows.Add(0,1,0)
    ds.Tables["City"].Rows.Add(2,"shanghai")
    ds.Tables["CityRelation"].Rows.Add(0,2,1)
    ds.Tables["City"].Rows.Add(3,"guangdong")
    ds.Tables["CityRelation"].Rows.Add(0,3,2)ds.Tables["City"].Rows.Add(4,"海淀")
    ds.Tables["CityRelation"].Rows.Add(1,4,0)