C\#TreeView 무한 등급 분류 실현 방법

분 류 를 할 때 는 항상 무한 등급 의 분 류 를 사용 합 니 다.  먼저 데이터베이스 의 표 구 조 를 소개 하 겠 습 니 다.

tid  분류 번호
tname 클래스 이름
pid 부모 클래스 번호
테스트 데 이 터 는 쓰 지 않 겠 습 니 다.여러분 스스로 삽입 해 보 세 요.
클래스 를 만 드 는 모든 하위 클래스 조회   sql 코드

alter proc  proc_chaxun
(@tid int )
as
begin 

   
    with tt  as
    (

        select tid,tname,pid from dbo.t_goodsType where tid=@tid
        union all
        select t.tid,t.tname,t.pid from dbo.t_goodsType  t inner join tt
        on t.pid=tt.tid
    )
    select * from tt
end

조회 후 기록 집합 가 져 오기   프론트 데스크 트 리 뷰 에 연결

 /// <summary>
            /// Tree
            /// </summary>
            /// <param name="dv"> </param>
            /// <param name="tnOld"> </param>
            public void TreeDataBind(DataView dv,TreeNode tnOld)
            {
                TreeNode tnNew;    //
                foreach (DataRowView drv in dv)
                {
                    //
                    tnNew = tnOld.Nodes.Add(drv["tname"].ToString());
                    tnNew.Tag = drv["tid"];
                    // id = tid
                    dv.RowFilter = "pid=" + drv["tid"].ToString();
                    //
                    TreeDataBind(dv, tnNew);
                }
            }
호출 방법 은 매우 간단 하 다.
효과

좋은 웹페이지 즐겨찾기