999ANDRE999 Posted September 13, 2016 at 07:38 AM Report #598842 Posted September 13, 2016 at 07:38 AM Vivam, Eu queria pintar uma célula de uma gridview mediante um valor que tivesse numa BD postgres, mas que não é apresentado na gridview. Esse valor é booleano. Tentei assim, mas sem resultado: // quando montar as linhas do tipo DADOS if (e.Row.RowType == DataControlRowType.DataRow) { // pega os campos string b_sample = DataBinder.Eval(e.Row.DataItem, "b_sample").ToString(); DataBase.Conecta(); Npgsql.NpgsqlCommand comm = new Npgsql.NpgsqlCommand(); comm.CommandText = " SELECT b_sample_green FROM status_project where project = '" + b_sample + "'"; string teste = comm.ExecuteNonQuery().ToString(); //cores para aprovação if (teste == "true") { } else { if (teste == "false") { e.Row.Cells[3].BackColor = Color.YellowGreen; } } DataBase.Desconecta(); } Alguém me consegue ajudar? Obrigado!
apocsantos Posted September 14, 2016 at 12:36 AM Report #598863 Posted September 14, 2016 at 12:36 AM Boa noite, foreach (DataGridViewRow linha in dataGridView1.Rows) { var condicao = 0; if (codicao == 0) { linha.Cells[0].Style.BackColor = Color.blue; } else if (condicao == 1) { linha.Cells[0].Style.BackColor = Color.red; } else if (condicao == 2) { linha.Cells[0].Style.BackColor = Color.green; } else if (condicao == 3) { linha.Cells[0].Style.BackColor = Color.yellow; } else {} } Podes iterar a datagridview toda, verificar célula a célula, pela condição, e pintar a célula de acordo com a condição que queiras. No caso estou sempre a pintar a célula zero de cada linha, mas isso é só alterar o índice. Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
999ANDRE999 Posted September 14, 2016 at 07:18 AM Author Report #598867 Posted September 14, 2016 at 07:18 AM 6 horas atrás, apocsantos disse: Boa noite, foreach (DataGridViewRow linha in dataGridView1.Rows) { var condicao = 0; if (codicao == 0) { linha.Cells[0].Style.BackColor = Color.blue; } else if (condicao == 1) { linha.Cells[0].Style.BackColor = Color.red; } else if (condicao == 2) { linha.Cells[0].Style.BackColor = Color.green; } else if (condicao == 3) { linha.Cells[0].Style.BackColor = Color.yellow; } else {} } Podes iterar a datagridview toda, verificar célula a célula, pela condição, e pintar a célula de acordo com a condição que queiras. No caso estou sempre a pintar a célula zero de cada linha, mas isso é só alterar o índice. Cordiais cumprimentos, Apocsantos Bom dia, Eu não quero pintar de acordo com valores que estejam na gridview, mas sim com valores que estejam guardados numa BD postgres, mas sem aparecerem na grid. 😞
apocsantos Posted September 14, 2016 at 11:16 AM Report #598873 Posted September 14, 2016 at 11:16 AM Bom dia, Basta substituir a condição para em vez de ser feita de acordo com valores, ser feita de acordo com dos dados provenientes da BD postgres. Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
999ANDRE999 Posted September 14, 2016 at 11:43 AM Author Report #598874 Posted September 14, 2016 at 11:43 AM 26 minutos atrás, apocsantos disse: Bom dia, Basta substituir a condição para em vez de ser feita de acordo com valores, ser feita de acordo com dos dados provenientes da BD postgres. Cordiais cumprimentos, Apocsantos o meu problema está em trabalhar com os dados da BD. Tenho DataBase.Conecta(); Npgsql.NpgsqlCommand comm = new Npgsql.NpgsqlCommand(); comm.CommandText = " SELECT b_sample_green FROM status_project where project = '" + b_sample + "'"; string teste = comm.ExecuteNonQuery().ToString(); e a minha variável teste sai sempre com valor 0.
apocsantos Posted September 15, 2016 at 11:34 PM Report #598903 Posted September 15, 2016 at 11:34 PM Boa noite, foreach (DataGridViewRow linha in dataGridView1.Rows) { if (teste == "true") { linha.Cells[0].Style.BackColor = Color.green; } else if (if (teste == "false") { linha.Cells[0].Style.BackColor = Color.yellow; } else {} } Cordiais cumprimentos, Apocsantos P.S.: Desconheço as relações entre as tabelas onde constam os dados para a condição de colorir e para os dados da datagridview, logo terás de fazer tu essa parte. "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now