Tom55 0 Denunciar post Postado Fevereiro 28, 2008 e ai galera... seguinte, eu tenho um grid populado com diversas informações que posteriormente serão editadas nesse mesmo grid. eu gostaria de saber uma maneira de deixar as linhas do grid que não foram editadas, com uma cor diferente, para melhorar a visualização do usuário Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 28, 2008 Para colorir utilize o evento RowDataBound. Ex.: If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.Cells(0).Text = "Em Edição" Then e.Row.BackColor = Drawing.Color.FromArgb(0, 158, 158, 158) Else e.Row.Cells(0).Text = "Em Aberto" Then e.Row.BackColor = Drawing.Color.FromArgb(0, 255, 128, 64) End If End If Neste exemplo utilizei o FromArgb, mas você pode colorir com o método que achar mais apropriado, mas o principal é a propriedade BackColor da linha. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Fevereiro 28, 2008 tentei passar esse codigo pro c#..... mexi, fucei e não consegui nada.... o máximo que eu cheguei foi ele rapidamente trocar de cor sempre, sem contar se estava ou não uma posição x vazia.... tentei passar esse codigo pro c#..... mexi, fucei e não consegui nada.... o máximo que eu cheguei foi ele rapidamente trocar de cor sempre, sem contar se estava ou não uma posição x vazia.... tentei passar esse codigo pro c#..... mexi, fucei e não consegui nada.... o máximo que eu cheguei foi ele rapidamente trocar de cor sempre, sem contar se estava ou não uma posição x vazia.... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 28, 2008 C#: if (e.Row.RowType == DataControlRowType.DataRow) { if (e.Row.Cells[0].Text == "1") { e.Row.BackColor = System.Drawing.Color.FromArgb(0, 158, 158, 158); } else if (e.Row.Cells[0].Text == "2") { e.Row.BackColor = System.Drawing.Color.FromArgb(0, 255, 128, 64); } } Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Fevereiro 29, 2008 em qual framework que tu programa? aqui ele não acha o e.row... e nem o datacontrolrowtype vou dar mais uma pesquisada, qualquer coisa posto aqui! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 29, 2008 Acho que não varia conforme o FrameWork, você esta utilizando no evento RowDataBound como citei no segundo post? Você está utilizando o Objeto GridView ou DataGrid? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 3, 2008 estou usando o datagrid! sim, tentei usar com o rowdatabound mas sem sucesso..... Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 3, 2008 Este código foi utilizado com o GridView, de uma olhada nesses artigos que trabalham com o DataGrid, acho que irá ajudar: http://forums.microsoft.com/MSDN-BR/ShowPo...0&SiteID=21 http://imasters.com.br/artigo/3608/asp...com_a_datagrid/ http://www.macoratti.net/aspn_clg.htm Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 3, 2008 bah... não consigo de jeito nenhum...... na verdade eu preciso deixar marcada a linha do datagrid que já foi editada, ou seja, que todos os campos já estão preenchidos. será que existe outra maneira do que sinalizar com cor? talvez usando uma imagem no datagrid, mas não sei como fazer ela "sumir" e "aparecer" quando está OK Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 3, 2008 Mas pq não conseguiu deu algum erro? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 4, 2008 tava dando um erro... simplismente não pintava a linha... mas eu desconfio do que seja... mais tarde vou abrir o projeto e qualquer coisa posto aqui Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 4, 2008 consegui chegar até o data row... mas agora não acho a propriedade backcolor.... não sei se está correto. Ele dá um erro de compilação pois não acha a propriedade BackColor no System.Data.DataRow foreach (DataRow r in ds1.Tables[0].Rows) { if (Convert.ToString(r["DT_DEVOLUCAO"]) == "") { r.BackColor = Color.Orange; } Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 4, 2008 o código acima ainda está valendo.. não consigo passar a cor pra linha! Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 4, 2008 Tom acho que não entendeu, você vai precisar utilizar o evento RowDataBound da sua grid. Do jeito que você fez o r não representa a linha da sua grid. Você colocou onde esse código? Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 4, 2008 coloquei o código quando estou populando o grid.... ja estou fazendo umas alterações aqui... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 5, 2008 opa.... bom eu mudei de um datagrid por um grid view... com o código abaixo ele está colorindo uma linha sim e outra não, e não colorindo apenas as que tem o campo vazio..... foreach (DataRow r in ds2.Tables[0].Rows) { if (Convert.ToString(r["DT_DEVOLUCAO"]) == "") { teste.RowStyle.BackColor = Color.Orange; } } Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Março 5, 2008 Se utilizar a GridView o código do post 4 funciona, basta utilizar o evento RowDataBound. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Tom55 0 Denunciar post Postado Março 6, 2008 bom... tentei e não consegui colorir a maldita linha.... devo estar fazendo alguma coisa de errado... mas achei outra solução para o meu problema. coloquei mais uma linha no meu datagrid(voltei a usar ele) com uma imagem. Aí eu faço a validação do campo dentro do próprio SQL, se o campo estiver cheio ele coloca o V informando que já está OK.! pode fechar o tópico e valeu pela ajuda! Compartilhar este post Link para o post Compartilhar em outros sites