Error al cambiar rango de valores en ejeX de objeto Chart
Publicado por José Vicente (113 intervenciones) el 28/12/2020 12:20:11
Hola, primero de todo Felices fiestas, estoy intentando hacer una gráfica en la que desde un listbox le diga cuantos meses tiene que mostrar, el problema viene después de seleccionar el primere valor, que muestra bien, pero si intento volver a seleccionar otro, me da el error:
No sé como arreglarlo. Os paso mi código para ver si me echáis una mano. Gracias.
1
2
System.ObjectDisposedException: 'No se puede obtener acceso al objeto desechado.
Nombre del objeto: 'NpgsqlConnection'.'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
Private Sub mes_lbox_SelectedIndexChanged(sender As Object, e As EventArgs) Handles mes_lbox.SelectedIndexChanged
Dim valor As Int16
Dim Message As String = "EL VALOR ELEGIDO NO PUEDE SER MAYOR QUE EL MES ACTUAL"
Dim Caption As String = "ERROR DE ELECCIÓN"
Dim Buttons As MessageBoxButtons = MessageBoxButtons.OK
Dim Resultado As DialogResult
valor = mes_lbox.SelectedItem
If valor >= mes Or mes <= 0 Then
Resultado = MessageBox.Show(Message, Caption, Buttons)
mes = 1
ElseIf (mes - valor) <= 0 Then
mes = 1
Else
mes -= valor - 1
End If
Dim nombre As String = UCase(MonthName(mes))
Dim titulo As String = "VALORES DE LAS TOMAS ENTRE " & nombre & " Y HOY"
adapter = New NpgsqlDataAdapter("SELECT * FROM valores WHERE fecha BETWEEN '01/" & mes & "/" & anio & "' AND CURRENT_DATE;", conexion)
adapter.Fill(MiDt) 'Aquí da el error
adapter.Dispose()
conexion.Close()
conexion.Dispose()
Chart1.Titles.Clear()
Chart1.Titles.Add(titulo)
Chart1.Series(0).LegendText = "Valores."
Chart1.Series.RemoveAt(0)
Chart1.Series.Add(MiDt.Columns(4).ColumnName)
Chart1.Series.Add(MiDt.Columns(3).ColumnName)
Chart1.Series.Add(MiDt.Columns(1).ColumnName)
Chart1.Series.Add(MiDt.Columns(2).ColumnName)
Chart1.Series(MiDt.Columns(4).ColumnName).XValueMember = MiDt.Columns(0).ColumnName
Chart1.Series(MiDt.Columns(4).ColumnName).YValueMembers = MiDt.Columns(4).ColumnName
Chart1.Series(MiDt.Columns(4).ColumnName).ChartType = SeriesChartType.Column
Chart1.Series(MiDt.Columns(4).ColumnName).Color = color.Aqua
Chart1.Series(MiDt.Columns(3).ColumnName).XValueMember = MiDt.Columns(0).ColumnName
Chart1.Series(MiDt.Columns(3).ColumnName).YValueMembers = MiDt.Columns(3).ColumnName
Chart1.Series(MiDt.Columns(3).ColumnName).ChartType = SeriesChartType.Column
Chart1.Series(MiDt.Columns(3).ColumnName).Color = color.Red
Chart1.Series(MiDt.Columns(1).ColumnName).XValueMember = MiDt.Columns(0).ColumnName
Chart1.Series(MiDt.Columns(1).ColumnName).YValueMembers = MiDt.Columns(1).ColumnName
Chart1.Series(MiDt.Columns(1).ColumnName).ChartType = SeriesChartType.Column
Chart1.Series(MiDt.Columns(1).ColumnName).Color = color.GreenYellow
Chart1.Series(MiDt.Columns(2).ColumnName).XValueMember = MiDt.Columns(0).ColumnName
Chart1.Series(MiDt.Columns(2).ColumnName).YValueMembers = MiDt.Columns(2).ColumnName
Chart1.Series(MiDt.Columns(2).ColumnName).ChartType = SeriesChartType.Column
Chart1.Series(MiDt.Columns(2).ColumnName).Color = color.MediumBlue
Chart1.BackColor = color.SlateGray
Chart1.ChartAreas(0).BackColor = color.CadetBlue
Chart1.BackSecondaryColor = color.Gainsboro
Chart1.BackGradientStyle = GradientStyle.TopBottom
Chart1.BorderlineDashStyle = ChartDashStyle.Solid
Chart1.BorderSkin.SkinStyle = BorderSkinStyle.Emboss
Chart1.BorderlineColor = color.Bisque
Chart1.ChartAreas(0).AxisX.Interval = 0
Chart1.ChartAreas(0).AxisY.Interval = 2
Chart1.ChartAreas(0).AxisY.Minimum = 4
Chart1.ChartAreas(0).AxisY.Maximum = 100
Chart1.ChartAreas(0).AxisY.LabelAutoFitStyle = LabelAutoFitStyles.LabelsAngleStep90
Chart1.ChartAreas(0).AxisY.Title = "VALORES"
Chart1.ChartAreas(0).AxisX.Title = "FECHA"
Chart1.ChartAreas(0).AxisX.TitleFont = New Font("Verdana", 14, FontStyle.Bold)
Chart1.ChartAreas(0).AxisX.TitleForeColor = color.Red
Chart1.ChartAreas(0).AxisX.TitleAlignment = StringAlignment.Center
Chart1.ChartAreas(0).AxisY.TitleFont = New Font("Verdana", 14, FontStyle.Bold)
Chart1.ChartAreas(0).AxisY.TitleForeColor = color.Red
Chart1.ChartAreas(0).AxisY.TitleAlignment = StringAlignment.Center
Chart1.Titles(0).Font = New Font("Trebuchet MS", 24, FontStyle.Bold) 'FUENTE, TAMAÑO Y ESTILO DEL TÍTULO.
Chart1.Titles(0).ForeColor = color.DarkSlateGray 'COLOR DE LA FUENTE DEL TÍTULO.
Chart1.Titles(0).ShadowOffset = 3 'TAMAÑO DE LA SOMBRA DEL TÍTULO.
Chart1.Titles(0).ShadowColor = color.DarkGray 'COLOR DE LA SOMBRA DEL TÍTULO.
Chart1.DataSource = MiDt
End Sub
Valora esta pregunta


0