如何修复 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 (注释行),但它也不起作用。 我也尝试了你的代码,它不起作用。不知道怎么了。
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
(DataGridView)
对于 DataGridView,请尝试设置
DefaultCellStyle
的Format
属性,例如 this:(WinForms DataGrid 答案)
在 WinForms 中,MSDN 说有一个 DataGridTextBoxColumn 上的 Format 属性;我使用 WinForms 的频率不够高,无法验证该列的类型是否正确。
(Web 表单答案)
您可以使用 列上的 DataFormatString 属性:
(DataGridView)
For a DataGridView, try setting the
Format
property of theDefaultCellStyle
like this:(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:
使用 ToString("00") 格式化字符串效果很好。
Formatting the string with ToString("00") worked fine.