2014-07-15 6 views
0

재귀 적 출력을 위해 asp.net mvc5 프레임 워크에서 트리 뷰를 만들어야합니다. 이 내 모델 클래스 ProceduresName 목록에서 결과의 목록을 저장ASP.NET MVC5의 트리보기

public class ProcSearchModel 
{ 
    /// <summary> 
    /// 
    /// </summary> 

    public string TableName { get; set; } 

    /// <summary> 
    /// 
    /// </summary> 
    public string DirectoryPath { get; set; } 

    /// <summary> 
    /// 
    /// </summary> 
    public List<string> ProceduresName { get; set; } 

// public List<ProcSearchModel> = 
} 

입니다. 이제 목록의 각 프로 시저 이름에 다른 이름 목록이 있습니다. 내가 .. 트리보기로

를 채울해야하는 현재이 내 컨트롤러 기능입니다 :

public ActionResult SearchProcedure(ProcSearchModel procSearchModel) 
    { 
     List<string> lstString = new List<string>(); 
     //if (procSearchModel != null) 
     //{ 
      try 
      { 
       var txtFiles = Directory.EnumerateFiles(procSearchModel.DirectoryPath, "*.sql", SearchOption.AllDirectories); 

       // pattern to capture the Stored procedue name 
       // string cpattern = @"(CREATE PROCEDURE|ALTER PROCEDURE)\s*(?<proc_name>(\w|_|\[|\]|\.)*)(.|\n)*" + procSearchModel.TableName; 
       string cPattern = @"(CREATE PROCEDURE|ALTER PROCEDURE)\s*(?<proc_name>(\w|_|\[|\]|\.)*)"; 
       string tPattern = procSearchModel.TableName; 


       foreach (string currentFile in txtFiles) 
       { 

        string content = System.IO.File.ReadAllText(currentFile); 

        if(Regex.IsMatch(content,tPattern,RegexOptions.IgnoreCase) && Regex.IsMatch(content,cPattern,RegexOptions.IgnoreCase)) 
        { 
         Match match = Regex.Match(content, cPattern, RegexOptions.IgnoreCase); 
         lstString.Add(match.Groups["proc_name"].Value); 


        } 
       } 

       procSearchModel.ProceduresName = lstString; 
      } 

      catch (Exception e) 
      { 
       Console.WriteLine(e.Message); 
      } 
     //} 

     return View(procSearchModel); 
    } 

PLZ 이제 어떻게 jstree 플러그인 중첩 된 목록을 usnig하여 트리보기를 채우려면 좀 도와

답변

0

만들기 계층 구조에서 필요로하는 노드 (또는 객체)의 반복적 인 노드 구조를 트리처럼 연결합니다. 그런 다음 나무

 class dummyObject{ 
     int num; 
     String data; 
     List<dummyObject> d = new List<dummyObject>();  
    } 

사용 계층 구조를 만든 다음 jstree로 전달하는 클래스 객체의이 유형에 해당 개체를 전달 (http://www.jstree.com/) 플러그인을 호출 ..... 나머지는 플러그인을 수행 할 수 있습니다.

+0

문제를 해결 한 방법에 대해 자세히 설명해야합니다. 그렇지 않으면이 대답은별로 유용하지 않습니다. – pmbanka

+0

제안에 감사드립니다 @ pmbanka –