2013-06-02 3 views
1

Я использую хрустальный отчет с ado.Net, когда datetime приходит null из базы данных, а затем показывает ошибку. если мы используем свойство Nullable (using?), то хрустальный отчет не может поддерживать.Crystal report not support null Datetime

как: -

_report = (
     from user in users 
       select new userModel() 
       { 
        UserId = user.Field<string>("userid"), 
        CheckInTime = <user.Field<DateTime>("intime"), 
        CheckOutTime = user.Field<DateTime>("outime"), 
        TotalWorks = user.Field<Int32>("TotalWork") 
       }) 
       .ToList(); 

метания ошибку здесь ......

и когда мы используем Nullabe ..: -

public DateTime? CheckInTime { get; set; } 
    public DateTime? CheckOutTime { get; set; } 

       CheckInTime = <user.Field<DateTime?>("intime"), 
       CheckOutTime = user.Field<DateTime?>("outime"), 

затем отчет Кристалл не поддерживает.

имеет любое лучшее решение?

ответ

1

Самый простой способ - преобразовать эту переменную даты в строку (и сделать ее пустой, если null), перед передачей ее в отчет о кристалле и использовать его в виде строки в отчете кристалла.

+0

, но здесь «CheckInTime = (« intime »),« throwing error –

+0

@JasRajBishnoi: Возьмите это поле только как строку ... сначала измените свой запрос, чтобы преобразовать дату в строку, а затем поместите эту строку в строковой переменной вместо даты :) –