【问题标题】:how to set custom date format for specific column in datagridview? - c#如何为datagridview中的特定列设置自定义日期格式? - C#
【发布时间】:2015-01-18 14:27:14
【问题描述】:

我在一个表中有很多字段。

每个字段包含不同的数据类型,即文本、数字、日期/时间。

我在 datagridview 中显示表格。

默认日期格式为 M/dd/yyyy。

但我希望日期以自定义格式显示,即 datagridview 中的 dd/M/yyyy。

我尝试将默认单元格样式中的格式更改为 dd/M/yyyy。现在日期列工作正常,但数字列显示为 dd/M/yyyy。

string connetionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=database1.mdb;";
// select * from ~tablename~; 
string sql = "select * from table1";
OleDbConnection connection = new OleDbConnection(connetionString);
OleDbDataAdapter dataadapter = new OleDbDataAdapter(sql, connection);
DataSet ds = new DataSet();
connection.Open();
dataadapter.Fill(ds, vehicleno);
dataGridView1.DataSource = ds.Tables[0];
connection.Close();

如何为 datagridview 中的特定列设置自定义日期格式?

【问题讨论】:

  • 你也可以显示你的代码吗? AFAIK,定义和显示格式信息是基于列的。如果操作正确,它不应该影响其他列。
  • 所有与您的问题无关的代码都会有所帮助。

标签: c# winforms visual-studio-2010 date datagridview


【解决方案1】:

绑定数据源后试试这行代码:

this.dataGridView1.Columns["YourDateCol"].DefaultCellStyle.Format = "dd/MM/yyyy";

其中“YourDateCol”是数据库中日期列的名称。

【讨论】:

  • 它有效。谢谢你。如何按升序对该日期列进行排序?
  • @RaizeAhamed 不客气。如果您的数据源是 IEnumerable,则使用 Linq 的 OrderBy 方法可以轻松进行排序。但我不熟悉 DataSet 对象的任何类似方法。因此,由于您的数据直接来自 sql,因此您最好的选择可能是将您的 sql 字符串更改为 select * from table1 order by yourDateCol
  • 谢谢。工作完美。 :)
猜你喜欢
  • 2017-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-06
  • 2021-08-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多