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

Ändra AxisLabel i diagram i Codebehind


KarlGunnar

Rekommendera Poster

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?

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...