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 / Artiklar / Titel på artikeln

Bygg grafer med chart-kontroller

Postad 2003-04-23 av Pontus Wång i sektionen ASP.NET, C#, Okategoriserat med 0 Kommentarer | Läst av: 4914, Betyg: 78%

Förord

Jag hade behov av att bygga en liten men enkel chart i asp.net, två axlar och ett enkelt linjediagram tidigare idag. Så glad i hågen och full av tillförsikt hoppade jag ut på Google och gjorde ett par sökningar efter chartkontroller som skulle fungera för mig, men döm om min förvåning när jag inte inte hittade en bra gratis kontroll! Arg som ett bi testade jag igenom de fria kontroller jag hittat och de sög verkligen.
Innehåll
  » Spontan åtgärd
  » ...vem vill ha tempfiler på servern?
  » Instansiera Office Web Components
  » avslutningsvis


Spontan åtgärd

Jag tog på tankemössan och irrade runt en liten stund till på Google, där hittade jag den här sidan www.eggheadcafe.com

Inga fel tänkte jag och började konvertera C#-koden till vb.net i min codebehind, väl klar så testkörde jag och fick en massa lustiga fel, framför allt fick jag ”Access Denied” som för övrigt heter ”Det finns inte tillräckligt med resurser för att öppna en annan fil.” på svenska tack vare någon som uppenbarligen inte kan engelska så bra. Och då började jag tänka till och kom fram till att...


...vem vill ha tempfiler på servern?


Inte jag i alla fall och hade ett svagt minne av en funktion som hette ”Exportpicture” eller något liknande, så jag kollade upp vad funktionen hette och skrev om koden för att få ut bilden av min graf på webbsidan. Resultatet då kan man ju fråga efter, jodå det kommer här och är välkommenterat som tusan:


Instansiera Office Web Components

För det första så måste en referens till "Office Web Components" sättas i ditt projekt. Detta gör du genom (i VS.NET) att högerklicka på References i Solution Explorer och sedan välja ”Add reference”, ur listan som dyker upp väljer du COM och letar rätt på OWC som du sedan bockar för.

Skapa en datatable och fyll den med data från Northwind, hur jag gjort för att fylla min datatable kan du se på Tips & tricks 1627


Dim dt As DataTable = GetDataTable("CustorderHist 'ALFKI'”)

' Skapa ett graf-objekt
Dim oMyGraph As New OWC10.ChartSpaceClass()
Dim i As Integer
Dim sX, sY As String

' Loopa alla rader i min datatable och bygg en X- respektive Y-axel i form av tabseparerade strängar
For i = 0 To dt.Rows.Count – 1
sX = sX & Chr(9) & dt.Rows(i).Item(0)
sY = sY & Chr(9) & dt.Rows(i).Item(1)
Next i

' Rensa upp lite
dt.Dispose()

' Fyll grafen
With oMyGraph
.Charts.Add(0)
.Charts(0).SeriesCollection.Add(0)
.Charts(0).SeriesCollection(0).SetData(OWC10.ChartDimensionsEnum.chDimCategories, Convert.ToInt32(OWC10.ChartSpecialDataSourcesEnum.chDataLiteral), sX)
.Charts(0).SeriesCollection(0).SetData(OWC10.ChartDimensionsEnum.chDimValues, Convert.ToInt32(OWC10.ChartSpecialDataSourcesEnum.chDataLiteral), sY)

' Skapa en memorystream för att hämta det minnesområde som mitt grafobjekt skapar en bild i,
' samtidigt passar vi på att skapa bilden där också
Dim ms As New System.IO.MemoryStream(CType(.GetPicture("gif", 500, 500), Byte()))

' Skapa ett bitmapobjekt baserat på våran memorystream
Dim bmp As New System.Drawing.Bitmap(ms)

' Spara ut bitmapobjektet till webbsidan som skall presentera grafen
bmp.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Gif)

' Rensa efter oss
bmp.Dispose()
ms.Close
End With

oMyGraph = Nothing



avslutningsvis

Jag skulle jag vilja tacka artikelförfattaren Peter A. Bromberg för en alldeles eminent ide. Vidare vill jag tacka Patrik Löwendahl för att han är det bästa stöd man kan önska sig när man har problem och slutligen alla er som orkat läsa igenom och kanske även röstat på denna lilla artikel.
Upp

0 Kommentarer

Skriv en kommentar på artikeln

Ditt betyg på artikeln



Kommentar:





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 153
27 952
271 704
1 038
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