Suceso extraño con mi DataGriedView
Publicado por carlos (36 intervenciones) el 19/09/2014 21:11:49
Hola, a ver si me podéis ayudar:
Tengo un Formulario principal que solo tiene un botón. Presionándolo llama a un Form llamado Pedidos. En ese Form pedidos tengo un DataGriedView. Al mostrar la información quiero poner el Backlight de una celda en rojo y lo hace bien (pero solo la primera vez que entro a este form).
Cuando cierro el Form Pedidos y luego lo vuelvo a abrir, esa celda ya no me aparece en rojo. ¿Cómo puede ser si ejecuta justo el mismo código y he comprobado mediante Debug que pasa por la línea que lo debería poner en rojo? Aquí os dejo el codigo:
FORMULARIO PRINCIPAL:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Pedidos.ShowDialog()
End Sub
End Class
FORMULARIO PEDIDOS
Public Class Pedidos
Private Sub Pedidos_Load(sender As Object, e As EventArgs) Handles MyBase.Load
cargardatagrid()
End Sub
Function CargarDataGrid() As String
TablaPedidos.Clear()
BindingSourcePedidos = New BindingSource()
Try
MyAdapterPedidos = New MySqlDataAdapter("Select * from funda ", Conexion)
SqlCommandBuilderPedidos = New MySqlCommandBuilder(MyAdapterPedidos)
MyAdapterPedidos.Fill(TablaPedidos)
BindingSourcePedidos.DataSource = TablaPedidos
DataGridView1.DataSource = BindingSourcePedidos
BindingNavigator1.BindingSource = BindingSourcePedidos
DataGridView1.Item(5, 1).Style.BackColor = Color.Red 'PONEMOS UNA CELDA EN COLOR ROJO
Return True
Catch ex As Exception
MsgBox("Error", MessageBoxIcon.Error)
Return False
End Try
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Cerrar_Formulario.Click
MyAdapterPedidos.Update(TablaPedidos)
Me.Close()
End Sub
End Class
MODULO GENERAL DE VARIABLES
Module General
Public MyAdapterPedidos As New MySqlDataAdapter
Public TablaPedidos As New DataTable
Public DataSet As New DataSet
Public BindingSourcePedidos As BindingSource
Public SqlCommandBuilderPedidos As MySqlCommandBuilder
Friend Conexion As MySqlConnection
End Module
Os agradezco cualquier ayuda
Saludos,

Tengo un Formulario principal que solo tiene un botón. Presionándolo llama a un Form llamado Pedidos. En ese Form pedidos tengo un DataGriedView. Al mostrar la información quiero poner el Backlight de una celda en rojo y lo hace bien (pero solo la primera vez que entro a este form).
Cuando cierro el Form Pedidos y luego lo vuelvo a abrir, esa celda ya no me aparece en rojo. ¿Cómo puede ser si ejecuta justo el mismo código y he comprobado mediante Debug que pasa por la línea que lo debería poner en rojo? Aquí os dejo el codigo:
FORMULARIO PRINCIPAL:
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Pedidos.ShowDialog()
End Sub
End Class
FORMULARIO PEDIDOS
Public Class Pedidos
Private Sub Pedidos_Load(sender As Object, e As EventArgs) Handles MyBase.Load
cargardatagrid()
End Sub
Function CargarDataGrid() As String
TablaPedidos.Clear()
BindingSourcePedidos = New BindingSource()
Try
MyAdapterPedidos = New MySqlDataAdapter("Select * from funda ", Conexion)
SqlCommandBuilderPedidos = New MySqlCommandBuilder(MyAdapterPedidos)
MyAdapterPedidos.Fill(TablaPedidos)
BindingSourcePedidos.DataSource = TablaPedidos
DataGridView1.DataSource = BindingSourcePedidos
BindingNavigator1.BindingSource = BindingSourcePedidos
DataGridView1.Item(5, 1).Style.BackColor = Color.Red 'PONEMOS UNA CELDA EN COLOR ROJO
Return True
Catch ex As Exception
MsgBox("Error", MessageBoxIcon.Error)
Return False
End Try
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Cerrar_Formulario.Click
MyAdapterPedidos.Update(TablaPedidos)
Me.Close()
End Sub
End Class
MODULO GENERAL DE VARIABLES
Module General
Public MyAdapterPedidos As New MySqlDataAdapter
Public TablaPedidos As New DataTable
Public DataSet As New DataSet
Public BindingSourcePedidos As BindingSource
Public SqlCommandBuilderPedidos As MySqlCommandBuilder
Friend Conexion As MySqlConnection
End Module
Os agradezco cualquier ayuda
Saludos,
Valora esta pregunta


0