有时,我们需要在DataGridView中,针对某行数据进行简单的变换操作,且变换后显示的内容要与变换关不一致,不能再变回来,如下图:
网上搜索到一个贴子,里面提供了两种办法,我选用了其中一种。
http://social.msdn.microsoft.com/Forums/en/winformsapplications/thread/f82ec651-6b22-44b0-8ead-15796387424f
就是将这个DataGridViewButtonCell换成 DataGridViewTextBoxCell,非常简单
上图的实现代码:
private void gvSaleOrder_RowPrePaint( object sender, DataGridViewRowPrePaintEventArgs e) |
if (gvSaleOrder[ "writeOff" , e.RowIndex].Value.ToString() == "1" && gvSaleOrder[ "btnConfirm" , e.RowIndex].Value.ToString() != "已销账" ) |
gvSaleOrder[ "btnConfirm" , e.RowIndex] = new DataGridViewTextBoxCell(); |
gvSaleOrder[ "btnConfirm" , e.RowIndex].Value = "已销账" ; |