2016-03-22 3 views
1

Я пытаюсь локализовать элемент Gantt. Однако я столкнулся с некоторыми проблемами.SyncFusion: Localize Gantt

Я принял взглянуть на http://help.syncfusion.com/aspnet/gantt/localization и написать этот код:

<div style="width:100%; height:800px;"> 
    @(Html.EJ().Gantt("ganttsample") 

    .TaskIdMapping("TaskID") 
    .TaskNameMapping("TaskName") 
    .StartDateMapping("StartDate") 
    .EndDateMapping("EndDate") 
    .DurationMapping("Duration") 
    .ProgressMapping("Progress") 
    .ScheduleStartDate("01/01/2016") 
    .ScheduleEndDate("31/12/2016") 
    .DateFormat("dd/MM/yyyy") 
    .HighlightWeekends(true) 
    .TreeColumnIndex(1) 
    .ShowGridCellTooltip(true) 
    .ChildMapping("SubTasks") 
    .AllowSelection(true) 
    .AllowGanttChartEditing(true) 
    .PredecessorMapping("Predecessors") 
    .AllowColumnResize(true) 
    .AllowSorting(true) 
    .IncludeWeekend(false) 
    .ResourceInfoMapping("IdEstado") 
    .ResourceNameMapping("ResourceName") 
    .ResourceIdMapping("ResourceID") 
    .ShowResourceNames(true) 
    .EnableContextMenu(true) 
    .Locale("es-ES") 
    .EditSettings(edit => 
    { 
     edit.AllowAdding(true); 
     edit.AllowDeleting(true); 
     edit.AllowEditing(true); 
     edit.EditMode("cellEditing"); 
    }) 
    .EnableResize(true) 
    .EnableVirtualization(false) 
    .ToolbarSettings(toolbar => 
    { 
     toolbar.ShowToolbar(true); 
     toolbar.ToolbarItems(new List<GanttToolBarItems>() 
     { 
      GanttToolBarItems.Add, 
      GanttToolBarItems.Search, 
      GanttToolBarItems.Edit, 
      GanttToolBarItems.Delete, 
      GanttToolBarItems.Update, 
      GanttToolBarItems.Cancel, 
      GanttToolBarItems.Indent, 
      GanttToolBarItems.Outdent, 
      GanttToolBarItems.ExpandAll, 
      GanttToolBarItems.CollapseAll 
     }); 
    }) 
    .SizeSettings(ss => ss.Width("100%").Height("100%")) 
    .Resources(ViewBag.datasource1) 
    .Datasource(ViewBag.datasource) 
    ) 
</div> 

<script type="text/javascript"> 



     ej.Gantt.localization["es-ES"] = { 



    //headerText to be displayed in gridtree 

    columnHeaderTexts: { 

     taskId: "ID", 

     taskName: "Nombre", 

     startDate: "F. Inicio", 

     endDate: "F. Fin", 

     resourceInfo: "Otra Cosa", 

     duration: "Duración", 

     status: "Progreso", 

     predecessor: "Predecesor", 

     baselineStartDate: "F. Inicio Base", 

     baselineEndDate: "F.Fin Base" 

    }, 



    //string to display in dialog 

    editDialogTexts: { 

     addFormTitle: "Nueva Tarea", 

     editFormTitle: "Editar tarea", 

     saveButton: "Guardar", 

     cancelButton: "Cancelar" 

    }, 

    contextMenuTexts: { 
     taskDetailsText: "Detalle", 
     addNewTaskText: "Nueva tarea", 
     indentText: "Indexar >", 
     outdentText: "< Desindexar", 
     deleteText: "Eliminar", 
     aboveText: "Arriba", 
     belowText: "Abajo" 
    }, 

    calendars: { 

     standard: { 

      firstDay: 1, 

      days: { 

       names: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], 

       namesAbbr: ["Dom.", "Lun.", "Mar.", "Mié.", "Jue.", "Vie.", "Sáb."], 

       namesShort: ["D", "L", "M", "X", "J", "V", "S"] 

      }, 

      months: { 

       names: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre", ""], 

       namesAbbr: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", ""] 

      }, 

      AM: null, 

      PM: null, 

      eras: [{ "name": "ap. J.-C.", "start": null, "offset": 0 }], 

      patterns: { 

       d: "dd/MM/yyyy", 

       D: "dddd d MMMM yyyy", 

       t: "HH:mm", 

       T: "HH:mm:ss", 

       f: "dddd d MMMM yyyy HH:mm", 

       F: "dddd d MMMM yyyy HH:mm:ss", 

       M: "d MMMM", 

       Y: "MMMM yyyy" 

      } 

     } 

    } 

} 

    </script> 

Однако, как вы можете видеть изображение, календарь не может сделать: enter image description here

Есть идеи?

ответ

1

Чтобы отобразить элемент управления Syncfusion Gantt для определенной культуры, убедитесь, что были переданы следующие внешние и внутренние сценарии и файлы тем.

<script src="@Url.Content("~/Scripts/jquery-2.1.4.min.js")"></script>  
<script src="@Url.Content("~/Scripts/jsrender.min.js")"></script> 
<script src="@Url.Content("~/Scripts/jquery.easing-1.3.min.js")"></script> 
<script src="@Url.Content("~/Scripts/jquery.globalize.min.js")"></script> 
<script src="@Url.Content("~/Scripts/ej.web.all.min.js")"></script> 
<script src="@Url.Content("~/Scripts/cultures/ej.culture.es-ES.min.js")"></script> 

Error: Cannot read property 'calendar' of null.

Эта ошибка возникает, только если вы пропустили передать свой следующий culture файл расслоение плотной.

<script src="@Url.Content("~/Scripts/cultures/ej.culture.es-ES.min.js")"></script> 

Присылайте этот файл и дайте мне знать, если у вас возникнут какие-либо другие проблемы.

Надеюсь, это поможет!