Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


TreeView och xml

Postades av 2003-06-25 14:49:05 - Nazgol Azizi, i forum asp.net generellt, Tråden har 1 Kommentarer och lästs av 793 personer

Hej!
Jag har en treeview (Microsofts) i asp.net. Jag hämtar information från databasen och denna är i xml-format. Hur gör jag för att fylla trädet med denna information?

Mvh,
Naz


Svara

Sv: TreeView och xml

Postades av 2003-06-25 23:10:03 - Pelle Johansson

Saxat från annan sida:

Very often applications have need to manage hierarchical data and indeed such that hierarchy is unlimited. This has been a bit problem in databases, although solved using self-referencing tables or alternative solutions. OK, but how to display such data that uses self-referencing table?

With ASP.NET one optional answer is to use TreeView control. TreeView gives developers chance to display hierarchical data as I’ll demonstrate in this article. What makes TreeView so cool is that it can also display elements (tree nodes) based on XML.

Overview of things that developer needs to do to get this feature are:

Get the data from self-referencing table into DataSet
Create DataRelation that corresponds to relation in self-referencing table and add it to DataSet’s Relations collection. DataRelation’s Nested property needs to be true.
Get DataSet’s XML representation and apply XSLT transformation for it so that result corresponds to XML syntax used by TreeView control.
Bind TreeView.

Shortly, CategoryID is the primary key and ParentCategoryID is foreign key referencing to CategoryID with default value NULL. CategoryName represents text I want to display in TreeView.

Get data into DataSet
//Connection to database

OleDbConnection objConn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("db.mdb") + ";Persist Security Info=False");

//SQL query to get data from CATEGORIES table
OleDbCommand objCommand=new OleDbCommand("SELECT * FROM CATEGORIES",objConn);


//OleDbDataAdapter
OleDbDataAdapter objDa =new OleDbDataAdapter(objCommand);

//DataSet
DataSet ds=new DataSet("CATEGORIESDS");

//Fill DataSet
objDa.Fill(ds ,"CATEGORIES");

//Create DataRelation
DataRelation drel=new DataRelation("CATEGORIES_RECURSIVE",
ds.Tables["CATEGORIES"].Columns["CategoryID"],
ds.Tables["CATEGORIES"].Columns["ParentCategoryID"]);

//Make sure relation is nested
drel.Nested =true;

//Add relation to DataSet's Relations collection
ds.Relations.Add(drel);

DataSet’s XML and XSLT transformation [Source XML][XSLT stylesheet]
//XmlDocument to hold XML generated from DataSet
XmlDocument objDoc=new XmlDocument();

//Load XML
objDoc.LoadXml(ds.GetXml());

//Create XslTransform object
XslTransform objXSL=new XslTransform();

//Load XSLT stylesheet
objXSL.Load(Server.MapPath("transformationtemplate.xslt"));

//StringWriter to temporarily hold result of the transformation
StringWriter writer=new StringWriter();

//Apply transformation with no arguments and dump results to StringWriter.
objXSL.Transform(objDoc.CreateNavigator(),null,writer);
Bind TreeView [Result of transformation]

//Set TreeView's TreeNodeSrc property to get XML from StringWriter.
TreeView1.TreeNodeSrc =writer.ToString();

//Bind TreeView
TreeView1.DataBind();

//Close StringWriter
writer.Close();

Länk: http://www.aspalliance.com/joteke/treeviewarticle/article.aspx


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 155
27 952
271 704
6 067
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies