如何修复DataGrid单元格中的字符长度

时间:2011-09-02 17:14:52

标签: .net winforms c#-4.0 datagrid

我有一个带有列的数据网格,ID值为1,2,3,4,5 .... 10,11,12,13 ...... 我希望所有的值都应该是长度为2,意味着我希望值为01,02,03 .... 10,11,12 ...... 怎么做?

修改 我正在使用Winforms。

修改

    if (dg.Columns[e.ColumnIndex].Name == "Id")
    {
        try
        {
            //e.Value = String.Format("{0:00.0}", e.Value);

            DataGridViewCellStyle ca = new DataGridViewCellStyle();
            ca.ForeColor = System.Drawing.Color.Red;
            ca.Format = "d2";

            dg.Columns[e.ColumnIndex].DefaultCellStyle = ca;
            e.FormattingApplied = true;
        }
        catch (FormatException)
        {
            e.FormattingApplied = false;
        }
    }

这里我可以改变背景色和前色,但无论我做什么,文字格式都保持不变。我甚至尝试过使用String.Format(注释行),但它也没有用。 我也尝试了你的代码,它没有用。不知道什么是错的。

2 个答案:

答案 0 :(得分:0)

(DataGridView中)

对于DataGridView,请尝试设置Format的{​​{1}}属性,如this

DefaultCellStyle

(WinForms DataGrid回答)

在WinForms中,MSDN说DataGridTextBoxColumn上有一个Format属性;我不经常使用WinForms来验证这是正确的列类型。


(网络表格回答)

您可以使用列上的DataFormatString属性:

this.dataGridView1.Columns["COLUMN_NAME"].DefaultCellStyle.Format = "d2";

答案 1 :(得分:0)

使用ToString(“00”)格式化字符串工作正常。