Witam,
Chciałem zapytać jak można połączyć przez kod tabelę z bazy SQL do wykresu. Niestety, szukałem w wielu miejscach i nie potrafię znaleźć odpowiedzi na moje pytanie. Jeżeli już coś znajdę to najczęściej dotyczy to ASP.net z którego nie korzystam.
Kod dla Chart'u
<chartingToolkit:Chart Grid.Column="1" Canvas.Top="80" Canvas.Left="10" Name="mcChart"
Background="LightSteelBlue" Margin="317,102,551.2,402">
<!--<chartingToolkit:Chart.DataContext>
<PointCollection>1,10 2,20 3,30 4,40</PointCollection>
</chartingToolkit:Chart.DataContext>-->
<chartingToolkit:LineSeries Title=" Monthly Count"
IndependentValueBinding="{Binding Path=Key}"
DependentValueBinding="{Binding Path=Value}" ItemsSource="{Binding}"
IsSelectionEnabled="True"/>
</chartingToolkit:Chart>
a tutaj przykładowy kod na liczenie rekordów z tabeli:
Dim cmd As New SqlCommand
Dim stat As String = "Process"
Dim acc As String = mw.txtAccountProm.Text
Dim mySV As String = txtSVProductiv.Text
Dim dat As Date = Date.Today
Try
cnn.Open()
cmd.Connection = cnn
cmd.CommandText = "SELECT COUNT([Enumber]) FROM tblMain WHERE (MRU = '" & acc & "') AND (ActivityCategory= '" & stat & "') AND (Supervisor='" & mySV & "' or Manager = '" & mySV & "') AND ([LogDate] = '" & dat & "')"
'Dim lrd As SqlDataReader = cmd.ExecuteReader
Dim result As Object = cmd.ExecuteScalar
If result.Equals(DBNull.Value) Then
txtAllProcess.Text = "0"
Else
result = Convert.ToInt32(cmd.ExecuteScalar)
If result <= 0 Then
txtAllProcess.Text = "0"
Else
txtAllProcess.Text = result.ToString
End If
End If
Catch ex As Exception
MessageBox.Show("Error" & ex.Message)
Finally
cnn.Close()
txtAllProcess.IsReadOnly = True
End Try
Czy w tym wypadku 'result' będzie jedną z 'series' dla wykresu?
bardzo dziękuję za pomoc
Pozdrawiam