Principales respuestas
¿CÓMO GUARDAR UN COLOR DE REGISTRO DE UN DATAGRID EN MYSQL?

Pregunta
-
Buen día, me gustaría guardar el color de los registros, ya que si puedo colorear las lineas, pero al momento de cerrar el programa y lo vuelvo abrir lógicamente el color no se queda guardado, me gustaría saber como puedo guardar el registro con todo y el color en mysql.
Mi código es el siguiente:
public CONTROL_CLIENTES() { InitializeComponent(); } string connectionString = "datasource=127.0.0.1;port=3306;username=Experienciasistemas;password=experienciasistemas;database=experienciasistemas;"; private void button1_Click(object sender, EventArgs e) { string query = "INSERT INTO experienciasistemas(`ID`,`NO_FOLIO`,`CLAVE`, `EQUIPO`, `FECHA_RECIBO`, `QUIEN_RECIBE`, `FECHA_COMPROMISO`, `AREA_SERVICIO`, `TECNICO`, `FECHA_ENTREGA`, `REMISION`, `QUIEN_MOSTRO`) VALUES (NULL, '" + NO_FOLIO.Text + "','" + CLAVE.Text + "', '" + EQUIPO.Text + "', '" + FECHA_RECIBO.Text + "', '" + QUIEN_RECIBE.Text + "', '" + FECHA_COMPROMISO.Text + "', '" + AREA_SERVICIO.Text + "', '" + TECNICO.Text + "', '" + FECHA_ENTREGA.Text + "', '" + REMISION.Text + "', '" + QUIEN_MOSTRO.Text + "')"; MySqlConnection databaseConnection = new MySqlConnection(connectionString); MySqlCommand commandDatabase = new MySqlCommand(query, databaseConnection); commandDatabase.CommandTimeout = 60; databaseConnection.Open(); MySqlDataReader myReader = commandDatabase.ExecuteReader(); databaseConnection.Close(); Registro_vacio.ForeColor = Color.Green; Registro_vacio.Text = "Agregado exitosamente"; Registro_vacio.Visible = false; Registro_vacio.Visible = true; this.NO_FOLIO.Text = ""; this.CLAVE.Text = ""; this.EQUIPO.Text = ""; this.FECHA_RECIBO.Text = ""; this.QUIEN_RECIBE.Text = ""; this.FECHA_COMPROMISO.Text = ""; this.AREA_SERVICIO.Text = ""; this.TECNICO.Text = ""; this.FECHA_ENTREGA.Text = ""; this.REMISION.Text = ""; this.QUIEN_MOSTRO.Text = ""; } private void dataGridView1_VisibleChanged(object sender, EventArgs e) { using (MySqlConnection cn = new MySqlConnection(connectionString)) { MySqlDataAdapter da = new MySqlDataAdapter("Select * from experienciasistemas", cn); DataTable dt = new DataTable(); da.Fill(dt); dataGridView1.DataSource = dt; } } private void button2_Click(object sender, EventArgs e) { var row = dataGridView1.SelectedRows[0]; //aqui defines la row que puede ser la seleccionada for (int i = 0; i <= 7; i++) { row.Cells[i].Style.BackColor = Color.Yellow; } for (int i = 8; i <= 11; i++) { row.Cells[i].Style.BackColor = Color.White; } } private void button3_Click(object sender, EventArgs e) { var row = dataGridView1.SelectedRows[0]; //aqui defines la row que puede ser la seleccionada for (int i = 0; i <= 7; i++) { row.Cells[i].Style.BackColor = Color.Yellow; } for (int i = 8; i <= 11; i++) { row.Cells[i].Style.BackColor = Color.Green; } } } }
Respuestas
-
hola
>>me gustaría guardar el color de los registros, ya que si puedo colorear las lineas
habia mencionado la respuesta en la pregunta anterior
No guardad ningun color en la base de datos, debes guardar el estado del registro
Para el ID de la row del grid debes tener un campo de ESTADO el cual tome por ejemplo el valor:
1- trabajo listo
2-entregado
Entonces cuando recuperes el registro vas a tener que evaluar que estado tiene para volver a repintar las celdas, de la misma forma que ya lo realizas iterando las celda
Pero en la db persistes en un campo de estado un valor que indique en cual esta, pero no guardas nunguna color
El color lo aplicas segun el estodo de la db
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Pablo RubioModerator jueves, 2 de enero de 2020 15:44
- Marcado como respuesta Mizael Tovar Reyes lunes, 6 de enero de 2020 8:32
Todas las respuestas
-
Hola Mizael
Me parece que guardar los colores en la base de datos sería complicarte demasiado, muchísimo.
Lo que podrías hacer, es pensar en las circunstancias o condiciones que llevaron a pintar las celdas de tal o cual color, y pintarlas al cargar el DataGridView o en los momentos apropiados, acorde a esas condiciones.
Por ejemplo, si al insertar una nueva fila, se pintan de la celda 0 a la 7 de amarillo y de la 8 a la 11 de verde, entonces que las filas que se cargan se pinten así, porque al insertarse así fue.
Saludos
Pablo
- Propuesto como respuesta Pablo RubioModerator jueves, 2 de enero de 2020 15:43
-
-
-
hola
>>me gustaría guardar el color de los registros, ya que si puedo colorear las lineas
habia mencionado la respuesta en la pregunta anterior
No guardad ningun color en la base de datos, debes guardar el estado del registro
Para el ID de la row del grid debes tener un campo de ESTADO el cual tome por ejemplo el valor:
1- trabajo listo
2-entregado
Entonces cuando recuperes el registro vas a tener que evaluar que estado tiene para volver a repintar las celdas, de la misma forma que ya lo realizas iterando las celda
Pero en la db persistes en un campo de estado un valor que indique en cual esta, pero no guardas nunguna color
El color lo aplicas segun el estodo de la db
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Propuesto como respuesta Pablo RubioModerator jueves, 2 de enero de 2020 15:44
- Marcado como respuesta Mizael Tovar Reyes lunes, 6 de enero de 2020 8:32