Ошибка Javascript при фильтрации - PullRequest
1 голос
/ 19 августа 2011

Я пытаюсь следовать этому примеру , чтобы получить фильтрацию в моей сетке jQuery Infragistics.Используя Razor, я настроил его так:

@( Html.Infragistics().Grid<InstrumentList>() 
      .ID("igGrid1") 
      .Columns(column => 
      {
         column.For(x => x.ProcessNo).DataType("int").HeaderText("Process No");
         column.For(x => x.SubProcess).DataType("string").HeaderText("Sub Process");
         column.For(x => x.Stream).DataType("int").HeaderText("Stream");
         column.For(x => x.EquipmentCode).DataType("string").HeaderText("Equipment Code");
         column.For(x => x.SequenceNumber).DataType("string").HeaderText("Sequence Number");
         column.For(x => x.EquipmentIdentifier).DataType("string").HeaderText("Equipment Identifier");
         column.For(x => x.Tag).DataType("string").HeaderText("Tag");     
      })
      .Features(features => 
      { 
         features.Sorting().Mode(SortingMode.Single).ColumnSettings(settings => 
         {
            settings.ColumnSetting().AllowSorting(true);
         });
         features.Selection().MouseDragSelect(true).MultipleSelection(true).Mode(SelectionMode.Row);
         features.Filtering().ColumnSettings(settings =>
         {
            settings.ColumnSetting().ColumnKey("Tag").AllowFiltering(false).FilterCondition("startsWith");
          });
      }) 
      .ClientDataSourceType(ClientDataSourceType.JSON) 
      .DataSourceUrl(Url.Action("GetInstrumentLists")) 
      .Width("100%") 
      .Height("700px") 
      .DataBind() 
      .Render()
) 

У меня также есть это в верхней части моего файла макета:

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/Infragistics/ig.ui.js")" type="text/javascript"></script>

Я получаю ошибку $.tmpl is not a function из строки17683 из ig.ui.js.Он исчезнет, ​​если я удалю линии фильтрации в настройках сетки.

Может ли это быть потому, что я использую jquery 1.5.1, а скрипт построен на jquery 1.4.4?1.5.1 является версией по умолчанию, которая поставляется с проектом MVC 3.Есть идеи?

Ответы [ 3 ]

1 голос
/ 19 августа 2011

Правильно, у сетки есть опция, использовать шаблонизацию jQuery или нет, которая по умолчанию отключена.это называется jQueryTemplating (true / false).По соображениям производительности он отключен - рендеринг по умолчанию значительно быстрее, чем шаблонизатор jQuery, но последний позволяет использовать шаблонизациюФильтрация, с другой стороны, также использует шаблоны для стилизации некоторых областей фильтрации, поэтому для этого требуется загрузка файла tmpl.js.Это часть jQuery, но мы все еще включаем его в состав продукта.это нужно только включить в качестве ссылки на скрипт в вашем примере.

Большое спасибо за то, что обратили на это внимание.Мы позаботимся о том, чтобы эта зависимость не присутствовала в коде фильтрации.Angel

0 голосов
/ 14 ноября 2012

В версии 12.1 и выше имеется пользовательский шаблонизатор, предоставляемый с инструментарием Ignite UI, который устраняет необходимость ссылаться на шаблонизаторы jQuery, и с тех пор опция jQueryTemplating устарела.Это также задокументировано в API документах .

0 голосов
/ 19 августа 2011

Для тех, кто хочет знать, я обнаружил плагин с именем jquery.tmpl.js , который решил проблему. И нет, это не имело значения, что я использовал jquery 1.5.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...