2015-02-19 2 views
0

Я использую версию ext.net 2.4. В таблице есть столбец даты, и я могу изменить этот столбец. Сетка заполняется с сервера sql. Моя проблема: если столбец даты пуст (на самом деле столбец не пуст, по умолчанию значение 01 \ 01 \ 1900 со стороны сервера sql) моя сетка показывает 01/01/1900 в сетке. Я хочу, чтобы сетка показывала меня пустой. Я сделал это, когда мой класс заполнил сетку, я установил свойства столбца Datetime.minvalue. Да, я столбец пуст, но я не могу изменить столбец, дал мне сообщение erorr.Ext.Net GridPanel Date Column change default value

Так что если дата 01.01.1900 Я не хочу видеть дату, я хочу видеть пустой и? хотите изменить пустой столбец. Не могли бы вы мне помочь.

мой класс:

[Column] 
 
     public DateTime DeliveryDate 
 
     { 
 
      get 
 
      { 
 
       return this.deliveryDate == Convert.ToDateTime("01/01/1900") 
 
        ? DateTime.MinValue 
 
        : this.deliveryDate.Value; 
 
      } 
 

 
      set { this.deliveryDate = value; } 
 
     }
<ext:DateColumn runat="server" Text="Servis Teslim Tarihi" DataIndex="DeliveryDate" Format="dd.MM.yyyy"> 
 
              <Editor> 
 
               <ext:DateField runat="server" Format="dd.MM.yyyy"/> 
 
              </Editor> 
 
             </ext:DateColumn>

Erorr сообщение: Код

Статус: 200

System.Exception: Неожиданный токен дата синтаксического анализа. Ожидаемая строка, получившая Null. в Ext.Net.JSONDateTimeJsonConverter.ReadJson (JsonRea der reader, тип objectType, Object existingValue, сериализатор JsonSerializer) в Newtonsoft.Json.Serialization.JsonSerializerIntern alReader.DeserializeConvertable (JsonConverter converter, JsonReader reader, Type objectType, Object existingValue) в Newtonsoft.Json .Serialization.JsonSerializerIntern alReader.Deserialize (JsonReader reader, Type objectType, Boolean checkAdditionalContent) в Newtonsoft.Json.JsonSerializer.DeserializeInternal (читатель JsonReader, тип objectType) в Newtonsoft.Json.JsonSerializer.Deserialize (JsonRea der reader, Type objectType) в Newtonsoft .Json.JsonConvert.DeserializeObject (значение Stri ng, тип типа, настройки JsonSerializerSettings) в Ext.Net.JSON.Deserialize (значение String, тип типа, настройки JsonSerializerSettings) в Ext.Net.JSON.Deserialize (значение строки, тип типа, IList`1, преобразователь IContractResolver) в Ext.Net.JSON.Deserialize (значение String, тип типа) в Ext.Net.DirectMethod.Invoke (Obj ECT, целевой контекст HttpContext, ParameterCollection арг) при Ext.Net.DirectMethod.Invoke (целевой объект, ParameterCollection арг) в Ext.Net.ResourceManager.RaisePostBackEvent (String eventArgument)

ответ

1

и можно использовать Colum визуализации, как это,

<ext:DateColumn runat="server" Text="Servis Teslim Tarihi" DataIndex="DeliveryDate" 
Format="dd.MM.yyyy"> 
    <Renderer Fn="myRenderer" /> 
    <Editor> 
    <ext:DateField runat="server" Format="dd.MM.yyyy"/> 
    </Editor> 
    </ext:DateColumn> 

и скрипт;

<script type="text/javascript"> 
    var myRenderer = function(value, metadata, record) { 
     if(value==='01/01/1900') 
     return ""; 
    } 
</script> 
2

Сакир, благодарю вас за помощь. это работа для меня. мой код последнее обновление:

var BeforeEdit = function (editor, e) 
 
     { 
 
    
 
      if (DateFormat(e.value) == '01.01.1900') { 
 
       e.value = ''; 
 
      } 
 
      
 
    var DateFormat = function (date) 
 
     { 
 
      var curr_date = date.getDate().toString(); 
 
      curr_date = curr_date.length > 1 ? curr_date : '0' + curr_date; 
 

 
      var curr_month = (1 + date.getMonth()).toString(); 
 
      curr_month = curr_month.length > 1 ? curr_month : '0' + curr_month; 
 
      var curr_year = date.getFullYear(); 
 

 
      return curr_date + "." + curr_month 
 
      + "." + curr_year; 
 
     } 
 
    
 
    var myRenderer = function (value, metadata, record) { 
 
      if (DateFormat(value) == '01.01.1900') { 
 
       return ""; 
 
      } 
 
      else 
 
       return DateFormat(value); 
 
     }
<ext:CellEditing ID="CellEditing1" runat="server"> 
 
             <Listeners> 
 
              <BeforeEdit Fn="BeforeEdit"/> 
 
              <Edit Fn="edit" /> 
 
             </Listeners> 
 
            </ext:CellEditing>

Смежные вопросы