Just nu i M3-nätverket
Gå till innehåll
KarlGunnar

Ändra AxisLabel i diagram i Codebehind

Rekommendera Poster

KarlGunnar

Jag skall göra ett diagram (ChartType=Bar) med data från en GridView. Jag har följande kod:

 

   Function CreateDataTable() As DataTable
       Dim col As DataColumn = Nothing
       Dim dtCart As New DataTable("tabAnalys")

       col = New DataColumn("namn")
       col.DataType = System.Type.GetType("System.String")
       col.AutoIncrement = True
       col.AutoIncrementSeed = 1
       dtCart.Columns.Add(col)

       col = New DataColumn("svarA")
       col.DataType = System.Type.GetType("System.Int32")
       dtCart.Columns.Add(col)

       For i = 1 To 5
           Dim dr As DataRow = dtCart.NewRow()
           dr(1) = GridView1.Rows(i - 1).Cells(1).Text
           dtCart.Rows.InsertAt(dr, i - 1)

           Chart3.Series("Series1").AxisLabel = GridView1.Rows(i - 1).Cells(0).Text

       Next i

       Return dtCart
   End Function

 

Detta ger som resultat att x-axelns ALLA etiketter (AxisLabel) blir lika, dvs lika med sista raden i kolumn 0 i GridView.

Genom att sätta in Points(i-1) innan AxisLabel enligt följande:

 

    Chart3.Series("Series1").Points(i - 1).AxisLabel = GridView1.Rows(i - 1).Cells(0).Text 

 

trodde jag att problemet var löst, men det fungerade inte. Jag får följande felmeddelande:

 

ArgumentOutOfRangeException was unhandled by user code

Index låg utanför intervallet. Det får inte vara negativt och måste vara mindre än mängdens storlek. Parameternamn: index

 

Vad är det för fel? Är det någon som kan hjälpa mig med detta?

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...