Ocultando Campo do DataGridView [C#]
14/10/2010
Bom Dia,
Tenho um DataGridView em minha aplicação no qual ele é populado e recebe algumas colunas do tipo CheckBox.
essas colunas São associadas com outras (carregadas do Banco) com alguns valores.
gostaria de saber se ha alguma forma de ocultar o checkbox do campo que vier sem valor.
Desde já Obrigado a Todos!
Posts
15/10/2010
Vinicius Vieira
Caraaaa nunk pensei nisso, só por curiosidade, por que você quer fazer isso?De qualquer maneira vou fazer um teste aqui e posto o resultado se der certo te explico como faz abraço
20/10/2010
Vinicius Vieira
class CustomDataGrid:DataGridView { int _colunaValor; string _ValorSuprimir=string.Empty; int _colunaSuprimir; Form1 _frmPai; public int COLUNAVALOR { get { return _colunaValor; } set { _colunaValor = value; } } public string VALORSUPRIMIR { get { return _ValorSuprimir; } set { _ValorSuprimir = value; } } public int COLUNASUPRIMIR { get { return _colunaSuprimir; } set { _colunaSuprimir = value; } } public Form1 frmPai { get { return _frmPai; } set { _frmPai = value; } } protected override void OnPaint(PaintEventArgs pe) { base.OnPaint(pe); Graphics gr = pe.Graphics; foreach (DataGridViewRow dtgvr in Rows) { if (dtgvr.Cells[_colunaValor].Value.ToString() == _ValorSuprimir) { Rectangle ret = dtgvr.Cells[_colunaSuprimir].GetContentBounds(dtgvr.Index); _frmPai.lblqvalx.Text = ret.X.ToString(); _frmPai.lblqvaly.Text = ret.Y.ToString() ; _frmPai.lblqvalw.Text = ret.Width.ToString(); _frmPai.lblqvalh.Text = ret.Height.ToString(); System.Drawing.SolidBrush brush1=new System.Drawing.SolidBrush(this.ColumnHeadersDefaultCellStyle.BackColor); gr.FillRectangle(brush1, new Rectangle(185, 70, 13, 13)); } } } }Parceiro comecei desenvolver um grid que desenha um retangulo da cor da célula quando vier sem valor em alguma coluna, não sei se é bem esse o caminho e se te ajuda muito mas talvez sirva para ter uma noção, só não consegui pegar a posição exata da célula para desenhar em cima, deixei um valor fixo, mas você olhando com mais tempo talvez consiga, espero ter ajudado
Então cara eu consegui de uma outra maneira *-*
eu fiz o seguinte:
Percorri o DataGrid e, na coluna onde existia algum valor eu criava um campo do tipo checkbox e onde não existia valor eu deixava sem.
não estou na empresa agora...mas assim que eu chegar eu posto o código para uma futura ajuda =)
mto Obrigado ^^
21/10/2010
Vinicius Vieira
Blz cara parabéns por ter conseguido, eu não cheguei a pensar nessa sua solução.Posta sim para que possa ajudar outras pessoas.Um abraço!
So ocultar o Controle dentro do RowDataBound.... usando o findControl é claro!
[]s