不要想得那么复杂吧, 直接在sql查询里 写 select orderid,cast(金额 as char) + '元'
 from [表] 输出不就有元了吗?

解决方案 »

  1.   

    object fv = formattedValue;
    if(fv != null)
    { fv = fv.ToString() + "元";
    }
    else{fv = "0 元";}base.Paint(...fv,....)://没测试过
      

  2.   

    为DataGridView赋值时加上"元"呢
      

  3.   

    3tzjq(永不言弃):我的代码如下,和你的差不多,但在测试时不会加上元字.            if (value != null)
                {
                    value = value.ToString() + "元";
                }
                base.Paint(graphics,
                 clipBounds,
                 cellBounds,
                 rowIndex,
                 cellState,
                 value,
                 formattedValue,
                 errorText,
                 cellStyle,
                 advancedBorderStyle,
                 paintParts);
      

  4.   

    sql查询里 写 select orderid,cast(金额 as char) + '元'
     from [表]方法可以
    你可以在代码中直接写
    在DataGridView
    DataGridView.row[i][j].value= DataGridView.row[i][j].value.ToString() + "元";
      

  5.   

    还是有区别的!
    记住替换的参数是formattedValue,不是value
      

  6.   

    3tzjq(永不言弃):
    太感谢了.你的方法有效,能否讲一讲 value 和 formattedValue各有什么用吗,我查了MSDN没有找到相关的内容.
      

  7.   

    很明显!formattedValue 是指格式化输出值(显示值),它一般与value一致,除非有设置了formattedValue.