日期:2014-05-18  浏览次数:20929 次

datagridview 中 datagridviewcheckboxcolumn的隐藏
如何隐藏datagridview中没有数据那行前面的checkbox复选框?
就是说比如datagridview里面只显示了一行数据,为了美观期间我插入了一些空行。怎么让那些空行前面的checkbox复选框隐藏或者去掉?
上回我问过这个问题,以为解决了,后来发现里面提供的方法findcontrol是属于System.Web.UI.WebControls 命名空间里的checkboxlist类里的,貌似不能引用。
哪位打个还有什么办法啊?

------解决方案--------------------
可以在CellPaint里自己来绘制CheckBox,如果有数据就绘制,否则不绘制。 
可以参考如下两个绘制的方法: 
CheckBoxRenderer.DrawCheckBox; 
ControlPaint.DrawCheckBox
==================
对`
就是写个方法`没什么麻烦的`
------解决方案--------------------
可以参考下面的一段代码来解决:

C# code

private void dataGridView1_CellPainting(object sender, DataGridViewCellPaintingEventArgs e) 
{ 
    if (e.ColumnIndex == 1) 
    {
        e.Handled = true; 
        if (e.Value != null) 
        { ControlPaint.DrawCheckBox(e.Graphics, e.CellBounds, ButtonState.Checked); 
        } 
    }
}