ASP.NET / Dataset og datagrid objektet / Indlæsning af data
|
Nu er du kommet så langt! Du er landet hos it-fjernundervisning.dk. Min viden er din viden.
Tag et kursus når du vil, når du har tid. Kig rundt og fortæl mig hvad du har brug for.
|
|
Indlæsning af data i dataset
Vi arbejder videre med projekt xml dokumentet.

Vi indlæser XML dokumentet ind i et dataset, der jo som vi så det har en readXML metode.
Vi skal til at arbejde objektorienteret, så vi laver en klasse, der kan bruges til at holde styr på projekterne. Den kunne i første omgang se sådan her ud:
Objekt kodning
using System;
using System.Data;
using System.Configuration;
namespace ProjektDatagrid.Klasser
{
public class Projekter
{
DataSet _Projekter = new DataSet();
public Projekter()
{
_Projekter.ReadXml(ConfigurationSettings.AppSettings["XMLPath"] + @"\projekter.xml");
}
public DataView ProjektListe()
{
return _Projekter.Tables[0].DefaultView;
}
}
}Og codebehind filen kunne se sådan her ud:
using ProjektDatagrid.Klasser;
namespace ProjektDatagrid
{
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dgridProjekter;
Projekter _Projekter = new Projekter();
private void Page_Load(object sender, System.EventArgs e)
{
if (!IsPostBack)
DoDataBind();
}
private void DoDataBind()
{
dgridProjekter.DataSource = _Projekter.ProjektListe();
DataBind();
}
}
}Klassen ser sådan her ud i VB.NET
Public Class Projekter
Dim _Projekter As New DataSet
Public Sub New()
_Projekter.ReadXml(ConfigurationSettings.AppSettings("FilePathLosning") + "\projekter.xml")
End Sub
Public Function ProjektListe() As DataView
Return _Projekter.Tables(0).DefaultView
End Function
End ClassOg den tilhørende codebehind
Dim _Projekter As Projekter = New Projekter()
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not Page.IsPostBack Then
DoDataBind()
End Sub
Private Sub DoDataBind()
dgridProjekter.DataSource = _Projekter.ProjektListe()
DataBind();
End SubKlassisk kodning
Visual Basic .NET:
Public Class _1_indlæs
Inherits System.Web.UI.Page
Dim dsetAndeby As New DataSet
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
dsetAndeby.ReadXml(Server.MapPath("Andeby.xml"))
dgridAndeby.DataSource = dsetAndeby.Tables(0).DefaultView
dgridAndeby.DataBind()
End Sub
End ClassC# .NET
namespace Udviklingcsharp.ASP.NET_II_kursus
{
public class _1_indlæs : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DataGrid dgridAndeby;
DataSet dsetAndeby = new DataSet();
private void Page_Load(object sender, System.EventArgs e)
{
dsetAndeby.ReadXml(Server.MapPath("Andeby.xml"));
dgridAndeby.DataSource = dsetAndeby.Tables[0].DefaultView;
dgridAndeby.DataBind();
}
}
}Dataset objektet
Datatable objektet
I det følgende er kun de vigtigeste egenskaber og metoder til objektet vist
Egenskaber
- Rows - er en samling af alle rækker i tabellen
- Columns - er en samling af alle kolonner i tabellen
Metoder
- NewRow() - opretter en ny række i tabellen
- Select(select, sort) - bruges til at sortere og filtrere data
- Compute() - Kan udføre en beregning på en kolonne (sum eller lign)
Oprettelse af klassefiler i Visual Studio.NET
Når du vil oprette en klasse som en del af dit projekt gør du som følger:
- Højreklik på Projektet i Solution Explorer
- Vælg Add | Add Class
- Giv din klassefil et navn og klik på open.
Når du vil bruge klassen i din kode skriver man øvers i koden Using (C#) eller Imports (VB).
Læs også siden her om objektorienteret programmering og klasser
Når du har betalt for kurset får du adgang til øvelser til hver lektion.
Og når du har fået godkendt din besvarelse får du desuden adgang til mine løsningsforslag med ekstra tips og trix.<<- XML - udtræk af elementer
Paging ->>