有时,我们需要在DataGridView中,针对某行数据进行简单的变换操作,且变换后显示的内容要与变换关不一致,不能再变回来,如下图:
网上搜索到一个贴子,里面提供了两种办法,我选用了其中一种。
就是将这个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 = "已销账"; } }