- Код: Выделить всё
Option Explicit
Dim i As Integer
Dim ChartsValue() As String
Dim Period As Integer
Private Sub Command1_Click()
'Обновляем значения в последней последней строки
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = InputBox("Введите значение ряда")
'Перерисовываем График
'MakeChart ' - ТАК НЕ ПОЙДЕТ НУЖНО ЧТОБЫ ОБНОВЛЯЛСЯ ГРАФИК ЧЕРЕЗ СОБЫТИЯ MSChart_PointUpdated, MSChart_SeriesUpdated, MSChart_DataUpdated
End Sub
Private Sub Command2_Click()
'Смещаем все строки вверх
For i = 2 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i - 1, 0) = MSFlexGrid1.TextMatrix(i, 0)
MSFlexGrid1.TextMatrix(i - 1, 1) = MSFlexGrid1.TextMatrix(i, 1)
Next i
'Вставляем новые значения в последнюю строку
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 0) = "Строка " & 1 + (Replace(MSFlexGrid1.TextMatrix(i - 1, 0), "Строка", ""))
MSFlexGrid1.TextMatrix(MSFlexGrid1.Rows - 1, 1) = Int((100 * Rnd) + 1)
'Перерисовываем График
'MakeChart ' - ТАК НЕ ПОЙДЕТ НУЖНО ЧТОБЫ ОБНОВЛЯЛСЯ ГРАФИК ЧЕРЕЗ СОБЫТИЯ MSChart_PointUpdated, MSChart_SeriesUpdated, MSChart_DataUpdated
End Sub
Private Sub Form_Load()
Command1.Caption = "Обновить значение"
Command2.Caption = "Добавить значение"
' Заполняем таблицу
MSFlexGrid1.TextMatrix(0, 0) = "Строка"
MSFlexGrid1.TextMatrix(0, 1) = "Значение"
For i = 1 To MSFlexGrid1.Rows - 1
MSFlexGrid1.TextMatrix(i, 0) = "Строка " & i
MSFlexGrid1.TextMatrix(i, 1) = Int((100 * Rnd) + 1)
Next i
'Рисуем график
MakeChart
End Sub
Sub MakeChart()
Dim i As Integer, j As Integer
'On Error Resume Next
Period = MSFlexGrid1.Rows - 1
ReDim ChartsValue(Period, 1)
For i = 0 To Period
ChartsValue(i, 0) = MSFlexGrid1.TextMatrix(i, 0)
ChartsValue(i, 1) = MSFlexGrid1.TextMatrix(i, 1)
Next i
MSChart1.chartType = VtChChartType2dLine
MSChart1.ChartData = ChartsValue
End Sub