Ocultando Campo do DataGridView [C#]
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
Curtidas 0
Respostas
Vinicius Vieira
14/10/2010
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
GOSTEI 0
Vinicius Vieira
14/10/2010
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
GOSTEI 0
Junior
14/10/2010
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 ^^
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 ^^
GOSTEI 0
Vinicius Vieira
14/10/2010
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!
GOSTEI 0
Netasper
14/10/2010
So ocultar o Controle dentro do RowDataBound.... usando o findControl é claro!
[]s
[]s
GOSTEI 0