Click here to Skip to main content
15,896,512 members
Home / Discussions / C#
   

C#

 
GeneralRe: URL's Pin
Gregory Bryant1-Aug-09 16:10
Gregory Bryant1-Aug-09 16:10 
GeneralRe: URL's Pin
Gregory Bryant1-Aug-09 16:28
Gregory Bryant1-Aug-09 16:28 
GeneralRe: URL's Pin
Richard Andrew x641-Aug-09 16:32
professionalRichard Andrew x641-Aug-09 16:32 
GeneralRe: URL's Pin
Gregory Bryant1-Aug-09 16:38
Gregory Bryant1-Aug-09 16:38 
QuestionCrystalReport ReportSource not from a file path but a byte array. Possible? Pin
Wendell.S1-Aug-09 11:10
Wendell.S1-Aug-09 11:10 
QuestionPrevent same user to login [modified] Pin
gal0001-Aug-09 10:32
gal0001-Aug-09 10:32 
AnswerRe: Prevent same user to login Pin
Abhijit Jana1-Aug-09 11:00
professionalAbhijit Jana1-Aug-09 11:00 
GeneralRe: Prevent same user to login Pin
Luc Pattyn1-Aug-09 11:25
sitebuilderLuc Pattyn1-Aug-09 11:25 
GeneralRe: Prevent same user to login Pin
Eddy Vluggen1-Aug-09 14:46
professionalEddy Vluggen1-Aug-09 14:46 
GeneralRe: Prevent same user to login Pin
Luc Pattyn1-Aug-09 14:55
sitebuilderLuc Pattyn1-Aug-09 14:55 
GeneralRe: Prevent same user to login Pin
Xmen Real 1-Aug-09 18:05
professional Xmen Real 1-Aug-09 18:05 
QuestionSingleton Pattern - When Use Pin
dataminers1-Aug-09 8:15
dataminers1-Aug-09 8:15 
AnswerRe: Singleton Pattern - When Use Pin
Not Active1-Aug-09 9:12
mentorNot Active1-Aug-09 9:12 
GeneralRe: Singleton Pattern - When Use Pin
dataminers1-Aug-09 10:14
dataminers1-Aug-09 10:14 
QuestionTreeView Recursion Pin
Muammar©1-Aug-09 7:50
Muammar©1-Aug-09 7:50 
AnswerRe: TreeView Recursion Pin
Mike Ellison1-Aug-09 10:47
Mike Ellison1-Aug-09 10:47 
GeneralRe: TreeView Recursion Pin
Muammar©1-Aug-09 12:50
Muammar©1-Aug-09 12:50 
GeneralRe: TreeView Recursion Pin
OriginalGriff1-Aug-09 21:59
mveOriginalGriff1-Aug-09 21:59 
GeneralRe: TreeView Recursion Pin
Muammar©1-Aug-09 23:18
Muammar©1-Aug-09 23:18 
GeneralRe: TreeView Recursion Pin
OriginalGriff2-Aug-09 0:34
mveOriginalGriff2-Aug-09 0:34 
GeneralRe: TreeView Recursion Pin
Muammar©2-Aug-09 1:01
Muammar©2-Aug-09 1:01 
AnswerRe: TreeView Recursion Pin
N a v a n e e t h9-Aug-09 4:47
N a v a n e e t h9-Aug-09 4:47 
GeneralRe: TreeView Recursion Pin
Muammar©9-Aug-09 9:53
Muammar©9-Aug-09 9:53 
GeneralRe: TreeView Recursion Pin
N a v a n e e t h9-Aug-09 16:31
N a v a n e e t h9-Aug-09 16:31 
Here you go
bool firstIteration = true;
Node baseLine = null;
foreach (DataRow row in dt.Rows)
{
    if (firstIteration)
    {
        baseLine = new Node(int.Parse(row["Id"].ToString()),
            row["Name"].ToString());
        firstIteration = false;
    }
    else
    {
        int parentId = int.Parse(row["Parent"].ToString());
        Node parent = (baseLine.Id == parentId) ? baseLine :  baseLine.FindNode(parentId);
        parent.AddChild(new Node(int.Parse(row["Id"].ToString()),
                row["Name"].ToString()));
    }
}
baseLine.PrintTree(node => Console.WriteLine(node));
Console.ReadKey();
I'd suggest to avoid using DataTable in production code. You could achieve the above with a simple DataReader. DataTable uses reader internally. You may also need to add some sanity check to this code like NULL checking, data validation etc.

Smile | :)


GeneralRe: TreeView Recursion Pin
Muammar©10-Aug-09 2:19
Muammar©10-Aug-09 2:19 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.