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

发布于 2024-12-02 17:09:35 字数 807 浏览 1 评论 0原文

我有一个带有列的数据网格,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 (注释行),但它也不起作用。 我也尝试了你的代码,它不起作用。不知道怎么了。

I have a datagrid with a column, ID with values like 1,2,3,4,5....10,11,12,13...
I want all the values should be of length two, means i want the values as 01,02,03....10,11,12...
How to do it?

EDIT
I am using Winforms.

EDIT

    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;
        }
    }

Here iam able to change backcolor and forecolor but the text format remains the same, no matter what i do. I even tried using String.Format (commented line) but its not working either.
I tried your code also, its not working. don't know whats wrong.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

南风几经秋 2024-12-09 17:09:35

(DataGridView)

对于 DataGridView,请尝试设置 DefaultCellStyleFormat 属性,例如 this

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

(WinForms DataGrid 答案)

在 WinForms 中,MSDN 说有一个 DataGridTextBoxColumn 上的 Format 属性;我使用 WinForms 的频率不够高,无法验证该列的类型是否正确。


(Web 表单答案)

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

DataFormatString="{0:D2}"

(DataGridView)

For a DataGridView, try setting the Format property of the DefaultCellStyle like this:

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

(WinForms DataGrid answer)

In WinForms, MSDN says there's a Format property on the DataGridTextBoxColumn; I don't use WinForms often enough to verify that that's the correct type of column.


(Web Forms answer)

You can use the DataFormatString property on the column:

DataFormatString="{0:D2}"
┾廆蒐ゝ 2024-12-09 17:09:35

使用 ToString("00") 格式化字符串效果很好。

Formatting the string with ToString("00") worked fine.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文