C# Grid控件日期列仅显示两位年份,如何设置为四位?
解决C# Grid控件日期显示四位年份的方法
嘿,这个问题我熟得很!其实核心就是指定正确的日期格式化字符串——把原来的yy换成yyyy就行,具体操作要看你用的是哪种Grid控件,我给你列几种最常见的场景:
WinForms DataGridView
- 设计时操作:右键你的DataGridView,选择「编辑列」,找到目标日期列,在「DefaultCellStyle」的「Format」属性里输入你想要的格式,比如
yyyy-MM-dd或者yyyy/MM/dd,确定后就能看到效果。 - 代码设置:如果是后台动态生成列,直接给列的DefaultCellStyle.Format赋值就行:
// 假设你的日期列是dateColumn dateColumn.DefaultCellStyle.Format = "yyyy-MM-dd";
WPF DataGrid
- XAML设置:在列的绑定里加上
StringFormat参数,示例如下:<DataGridTextColumn Header="日期" Binding="{Binding YourDateProperty, StringFormat=yyyy-MM-dd}" /> - 后台代码设置:动态创建列时可以这么写:
var dateColumn = new DataGridTextColumn(); dateColumn.Header = "日期"; dateColumn.Binding = new Binding("YourDateProperty") { StringFormat = "yyyy-MM-dd" }; yourDataGrid.Columns.Add(dateColumn);
ASP.NET GridView
- 在BoundField里设置
DataFormatString,记得把HtmlEncode设为False,不然格式不会生效:<asp:BoundField DataField="YourDateField" HeaderText="日期" DataFormatString="{0:yyyy-MM-dd}" HtmlEncode="False" />
本质上不管哪种控件,只要把日期格式字符串里的两位年份标识yy替换成四位的yyyy,就能显示完整的年份了。如果是自定义的Grid控件,找一下对应列的「格式化」或「格式字符串」属性,照这个逻辑设置就行。
内容的提问来源于stack exchange,提问作者Korpin
相关产品推荐
相关产品推荐

