代码之家  ›  专栏  ›  技术社区  ›  Kharlos Dominguez

格式化DataGridViewComboBox中的列表项

  •  1
  • Kharlos Dominguez  · 技术社区  · 15 年前

    我在DataGridView上显示价格(在用C#on VS 2008开发的WinForms应用程序上)。

    这个DefaultCellStyle.格式此列的属性设置为“C2”,并且此列的单元格中的价格格式确实为货币。

    但是,当用户单击组合框选择一个值时,列表中的值不会格式化。 例如,不要看到:

    3.90 €
    4.50 €
    5.95 €
    

    他们看到了

    3.9
    4.5
    5.95
    

    值也是左对齐的,而我更喜欢右对齐。

    这是一张显示当前行为的图片,我们可以清楚地看到,它看起来并没有想象中那么好。

    alt text

    谢谢。

    1 回复  |  直到 15 年前
        1
  •  1
  •   digEmAll    15 年前

    只要处理好 EditingControlShowing 在您的 DataGridView 然后做:

    void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
    {
        ComboBox cb = e.Control as ComboBox;
        if (cb != null)
            cb.FormatString = "<your format string>"; // e.g. "C2"
    }
    
    推荐文章