【问题标题】:How to show date in diffrent way in GridView?如何在 GridView 中以不同的方式显示日期?
【发布时间】:2019-05-09 09:38:59
【问题描述】:

我想将我的grid 中的DisplayFormat

"MM/dd/yyyy"

"yyyy/MM/dd hh:mm:ss"

但什么也没发生。

【问题讨论】:

  • 你能展示一下你是如何尝试的吗?
  • 看到下面的帖子了吗?
  • @Crowcoder 我正在使用 DevExpress Designer 的 GUI,用于 DevExpress.XtraEditor.XtraUserControl 并编辑 DisplayFormat 属性。
  • 是的,我看到了答案,但问题不在于如何在控制台中显示日期,而在于如何在GridView 的 GUI 中显示。
  • 网格绑定的底层源数据是什么样的?是强类型的DateTime 值还是字符串?

标签: c# winforms datagrid devexpress


【解决方案1】:

你应该使用这个(例子):

static void Main()
{
    DateTime time = DateTime.Now;             // Use current time.
    string format = "yyyy/MM/dd hh:mm:ss";    // Use this format.
    Console.WriteLine(time.ToString(format)); // Write to console.
}

因此,当您在 GridView 中插入数据时,您会将其转换为具有所选格式的字符串。

这里是多个日期格式以及如何使用它们的链接:https://www.dotnetperls.com/datetime-format

【讨论】:

    【解决方案2】:

    对我来说,回答我的问题比在我的复杂程序中孤立的工作代码更容易。所以这是我在我的程序中运行的 hack:

    private void GridView_CustomDrawEvent(object sender, RowCellCustomDrawEventArgs e)
    {
        if(e.Column.FieldName == "CreationDate")
        {
            string date = ((DateTime) view.GetRowCellValue(e.RowHandle, "CreationDate"));
            string displayDate = date.ToShortDateString() + " " time.ToLongTimeString();
            e.DisplayText = displayDate;
        }
    }
    

    我在CustomDrawCell 事件中捕获了我的DateTime 对象,我正在使用DateTime.ToShortDateString()DateTime.ToLongTimeString(). 两种标准方法将其转换为字符串,非常感谢您抽出宝贵的时间。

    【讨论】:

      【解决方案3】:

      Settings

      设置显示格式

      dd-MMM-yyyy hh:mm:ss tt
      

      Result

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-05-11
        • 1970-01-01
        • 1970-01-01
        • 2013-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-19
        相关资源
        最近更新 更多