当我有一个包含46个项目的列表视图,其中每个项目有4个子项目时,子项目的值随时间变化,当选择列表视图中的项目时,我使用子项目的值绘制饼图使用此代码:
Chart1.Series("Series1").ChartType = SeriesChartType.Pie
Chart1.Series("Series1").Points.Clear()
If ListView3.FocusedItem.SubItems(1).Text > 0 Then
Chart1.Series("Series1").Points.AddY(ListView3.FocusedItem.SubItems(1).Text)
End If
If ListView3.FocusedItem.SubItems(2).Text > 0 Then
Chart1.Series("Series1").Points.AddY(ListView3.FocusedItem.SubItems(2).Text)
End If
If ListView3.FocusedItem.SubItems(3).Text > 0 Then
Chart1.Series("Series1").Points.AddY(ListView3.FocusedItem.SubItems(3).Text)
End If
If ListView3.FocusedItem.SubItems(4).Text > 0 Then
Chart1.Series("Series1").Points.AddY(ListView3.FocusedItem.SubItems(4).Text)
End If
有没有办法检测子项的值的变化?与文本框中的onchange
事件类似,但对于项目或子项目,因为我希望饼图在子项值更改时更新。
此代码更改子项
For xx As Integer = 0 To ListView3.Items.Count - 1
If ListView3.Items(xx).SubItems(0).Text = googleXMLdocument...<s:name>(j).Value Then
If j + 1 = 1 Then
ListView3.Items(xx).SubItems(1).Text += 1
End If
If j + 1 = 2 Then
ListView3.Items(xx).SubItems(2).Text += 1
End If
If j + 1 = 3 Then
ListView3.Items(xx).SubItems(3).Text += 1
End If
If j + 1 > 4 Then
ListView3.Items(xx).SubItems(4).Text += 1
End If
End If
Next
答案 0 :(得分:1)
试试这段代码。这样,如果子项目发生任何变化,图表将自动更新。你不需要计时器。
For xx As Integer = 0 To ListView3.Items.Count - 1
If ListView3.Items(xx).SubItems(0).Text = googleXMLdocument...<s:name>(j).Value Then
If j + 1 = 1 Then
ListView3.Items(xx).SubItems(1).Text += 1
End If
If j + 1 = 2 Then
ListView3.Items(xx).SubItems(2).Text += 1
End If
If j + 1 = 3 Then
ListView3.Items(xx).SubItems(3).Text += 1
End If
If j + 1 > 4 Then
ListView3.Items(xx).SubItems(4).Text += 1
End If
End If
Next
将上面的代码放在循环中。您也可以取消FocusedItem
Chart1.Series("Series1").Points.Clear()
Chart1.Series("Series1").Points.AddY (ListView3.FocusedItem.SubItems(1).Text)
Chart1.Series("Series1").Points.AddY (ListView3.FocusedItem.SubItems(2).Text)
Chart1.Series("Series1").Points.AddY (ListView3.FocusedItem.SubItems(3).Text)
Chart1.Series("Series1").Points.AddY (ListView3.FocusedItem.SubItems(4).Text)