Oprettet man. d. 06. december 2010 kl. 15:49:02

jackass-
jackass- (14.974 point. Point ude: 120)

Treeview fra SQLite database

Hej,

Hvordan kan jeg populate en treeview ud fra udtræk fra en database? Der er kun 2 niveauer med følgende referencer.. Jeg har kaldt dem Head og Child:


rowid    headline    name    parentID
1    Head 1           
2    Head 2           
4        Child 2        2
5        Child 3        1
6        Child 7        2
7        Child 5        1
8        Child 8        1
9    Head 3           
10        Child 10        9

Tekst-formateringen stinker lidt, så jeg har lagt strukturen her også, for overskuelighedens skyld: http://pastebin.com/ (...)

Og samtidig adde eventhandlers eller hvad der skal til at for at håndtere når brugeren klikker på en node.

Pft :-)

Skrevet tir. d. 07. december 2010 kl. 01:41:41| #1

netassist
netassist (15.165 point)
har du lavet kalde til sqlite

Skrevet tir. d. 07. december 2010 kl. 07:56:29| #2

jackass-
jackass- (14.974 point)
Ja, det går fint med at give data ud og i en DataTable.

Det er det med at generere treeview'en der kniber - eller sætte datasource eller hvad man kan.

Skrevet tir. d. 07. december 2010 kl. 10:01:44| #3

jackass-
jackass- (14.974 point)
For informationens skyld:


SQLiteDataReader dataReader = null;
SQLiteDataAdapter adapter = new SQLiteDataAdapter();
DataTable dt = new DataTable();
try
{
    SQLiteConnection connectionString = new SQLiteConnection("Data Source=" + Path.GetDirectoryName(Application.ExecutablePath) + "\\myDB.s3db;Version=3;New=False;Compress=True");
    using (SQLiteConnection conn = new SQLiteConnection(connectionString))
    {
        conn.Open();
        SQLiteCommand cmd = new SQLiteCommand();
        cmd.Connection = conn;
        cmd.CommandText = "select rowid, headline, parentID from myTable";
        cmd.CommandTimeout = 120;
        dataReader = cmd.ExecuteReader();
        dt.Load(dataReader);
        dataReader.Close();
        cmd.Connection.Close();

        ..og så gik det lidt i kage :-/
    }
}

Skrevet tir. d. 07. december 2010 kl. 12:06:09| #4

jackass-
jackass- (14.974 point)
Got it :-)


treeView1.Nodes.Clear();
int ParentID = 0;
ArrayList tnodes = new ArrayList();
foreach (DataRow dtRow in dt.Rows)
{
    ParentID = Convert.ToInt32(dtRow["parentID"]);
    if (ParentID == 0)
    {
        TreeNode node = new TreeNode();
        node.Text = dtRow["headline"].ToString();
        node.Tag = Convert.ToInt32(dtRow["rowid"]);
        treeView1.Nodes.Add(node);
        tnodes.Add(node);
    }
    else
    {
        for (int i=0; i<tnodes.Count; i++)
        {
            if ((int)((TreeNode)tnodes[i]).Tag == ParentID)
            {
                TreeNode node = new TreeNode();
                node.Text = dtRow["name"].ToString();
                node.Tag = Convert.ToInt32(dtRow["rowid"]);
                tnodes.Add(node);
                ((TreeNode)tnodes[i]).Nodes.Add(node);
                break;
            }
        }
    }
}
treeView1.Sort();

Skrevet tir. d. 07. december 2010 kl. 12:06:35| #5


Skrevet ons. d. 08. december 2010 kl. 00:56:46| #6

netassist
netassist (15.165 point)
super. sorry jeg ikke nået at hjælpe . har haft meget trævl dage

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Print fra Windows Service på Win2008

Oprettet den 24. maj 2012 kl. 11.17
jps6kb giver 200 point for svar | Giv et svar »

Udskrive en Breadcrumb (Jeg er her >>)

Oprettet den 18. maj 2012 kl. 12.04
Qbruger giver 200 point for svar | Giv et svar »

Hjælp til at lokalisere fejl i CMS (synkron.via) dll

Oprettet den 16. maj 2012 kl. 19.31
jokkejensen giver 200 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger