2015-05-22 4 views
0

У меня есть дата, которая отображается так же в виде сетки из DevExpress: 20071031 (YYYYMMDD *), и я хотел бы, чтобы она отображалась в виде сетки в формате 2007/10/31.Форматировать строку даты в программном обеспечении DevExpress gridview vb.net

* Данные были импортированы из таблицы серверов sql как Varchar.

Я пробовал следующее, но ничего не делает, дата все еще отображается как YYYMMDD.

gridview.Columns("CloseDate").DisplayFormat.FormatType = FormatType.DateTime 
gridview.Columns("CloseDate").DisplayFormat.FormatString = "d" 

Я также знаю, что следующий будет работать, чтобы преобразовать строку в нужный формат Date (Тем не менее, я не могу применить это к моей ситуации).

Dim strDate As String = DateTime.ParseExact("20071117", "yyyyMMdd", Nothing).ToString("MM\/dd\/yyyy") 
+0

Если вы используете SQL для извлечения данных CONVERT (дата, '20071031', 101) будет делать форматирование. – rheitzman

ответ

0

Команда поддержки DevExpress предоставила мне следующее решение:

Private Sub gridview_CustomColumnDisplayText(sender As Object, e As DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs) Handles gridview.CustomColumnDisplayText 
     If e.Column.FieldName = "CloseDate" Then 
      Dim strDate As String = DateTime.ParseExact(e.Value, "yyyyMMdd", Nothing).ToString("MM\/dd\/yyyy") 
      e.DisplayText = strDate 
     End If 
End Sub 
0

Я не понимаю, почему вы не можете использовать ParseExact но, возможно, вы можете использовать это:

Dim D$ = "20150522" 
    Dim mData = D.substring(4,2) & "/" & D.substring(6) & "/" & D.substring(0,4) 
Смежные вопросы