hi sir,
i have a big problem
now i made a query and used jsTree to make tree view and it works good but it works for just one level
what i mean is one parent has 2 child
what if one of these child is parent for another child what should i do?
i want to make a view like image 1
and this is my query which is working good but just for one level of parent like image 2
is ABP support this feature and has a documentation link to do that or not??
ALTER PROCEDURE [dbo].[GetAccountTreeStructure2]
AS
BEGIN
SET NOCOUNT ON;
WITH RecursiveCTE AS (
-- Anchor member: Select root nodes (accounts with no parent)
SELECT
A.Id,
A.AccountName AS ChildName,
A.ParentAccountId,
A.AccountLevelId,
AL.AccountLevelTitle AS ParentName,
0 AS Level
FROM
Acc_Account A
INNER JOIN
Acc_AccountLevel AL ON A.AccountLevelId = AL.Id
WHERE
A.ParentAccountId IS NULL
UNION ALL
-- Recursive member: Select child nodes recursively
SELECT
A.Id,
A.AccountName AS ChildName,
A.ParentAccountId,
A.AccountLevelId,
AL.AccountLevelTitle AS ParentName,
Level + 1 AS Level
FROM
Acc_Account A
INNER JOIN
Acc_AccountLevel AL ON A.AccountLevelId = AL.Id
INNER JOIN
RecursiveCTE R ON A.ParentAccountId = R.Id
)
-- Final query to retrieve the tree structure with account and level information
SELECT
Id,
ChildName,
ParentAccountId,
AccountLevelId,
ParentName,
Level -- Include the Level column to display the level of each node
FROM
RecursiveCTE;
END;
-
ABP Framework version: v8
-
UI Type: MVC
-
Database System: EF Core (SQL Server)
1 Answer(s)
-
0
Hi,
You can consider using
code
.For example:
A code :
00001
A.1 code :00001.00001
A.2 code :00001.00002
A.1.1 code00001.00001.00001
B code00002
B.1 code00002.00001
You can easily query all children through code.
Here is a open source project you can check this: https://github.com/maliming/Owl.GeneralTree