Ocultando Campo do DataGridView [C#]

14/10/2010

0

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!
Junior

Junior

Responder

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
Responder

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
 
Responder

21/10/2010

Junior

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 ^^
Responder

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!
Responder

21/10/2010

Netasper

So ocultar o Controle dentro do RowDataBound.... usando o findControl é claro!

[]s
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar