2013-02-26 3 views
0

Я пытаюсь реализовать основную функциональность Grid, в том, что при составлении моего проекта я получаю сообщение об ошибке говорящее «Объект Ожидаемое»Кендо UI Сетка Базовая реализация

С ниже строк кода:

  $(document).ready(function() { 
       $("#grid").kendoGrid({ 
        dataSource: { 
         data: createRandomData(50), //exception in this line of code 
         pageSize: 10 
        }, 

Можете ли вы помочь мне понять, что мне нужно написать вместо createRandomData? Является ли это именем таблицы, откуда я беру данные, чтобы поместить его в грид, или это что-то еще? (Кстати, я использую SQL Server 2008 как бэкэнд и запускаю этот код в Visual Studio 2010 MVC4), и я новичок в MVC и Kendo UI.

Что я пытаюсь осуществить это связывание данных с сервера SQL к сетке с помощью MVC 4.

Спасибо заранее! :)

вот код:

   <script> 
      $(document).ready(function() { 
       $("#grid").kendoGrid({ 
        dataSource: { 
         data: createRandomData(50), 
         pageSize: 10 
        }, 
        groupable: true, 
        sortable: true, 
        pageable: { 
         refresh: true, 
         pageSizes: true 
        }, 
        columns: [{ 
         field: "FirstName", 
         width: 90, 
         title: "First Name" 
        }, { 
         field: "LastName", 
         width: 90, 
         title: "Last Name" 
        }, { 
         width: 100, 
         field: "City" 
        }, { 
         field: "Title" 
        }, { 
         field: "BirthDate", 
         title: "Birth Date", 
         template: '#= kendo.toString(BirthDate,"dd MMMM yyyy") #' 
        }, { 
         width: 50, 
         field: "Age" 
        } 
        ] 
       }); 
      }); 
     </script> 

вот функция Defination:

function createRandomData(count) { 
     var data = [], 
     now = new Date(); 
     for (var i = 0; i < count; i++) { 
     var firstName = firstNames[Math.floor(Math.random() * firstNames.length)], 
     lastName = lastNames[Math.floor(Math.random() * lastNames.length)], 
     city = cities[Math.floor(Math.random() * cities.length)], 
     title = titles[Math.floor(Math.random() * titles.length)], 
     birthDate = birthDates[Math.floor(Math.random() * birthDates.length)], 
     age = now.getFullYear() - birthDate.getFullYear(); 

    data.push({ 
     Id: i + 1, 
     FirstName: firstName, 
     LastName: lastName, 
     City: city, 
     Title: title, 
     BirthDate: birthDate, 
     Age: age 
    }); 
} 
return data; 

}

должен контроллер возвращает значение, переданное в счет?

public ActionResult createRandomData() 
    { 
     return View(); 
    } 

ответ

0

Функция createRandomData (50) должна возвращать объект json. Пожалуйста, покажите определение функции также ..

имена столбцов в сетке и JSON объект, который вы возвращаетесь не соответствующими

+0

Соответствие этому правилу прямо сейчас? – subee

+0

Вы передаете объект, не так ли. Попробуйте преобразовать этот объект данных в json –

1

Есть немало учебные пособий для ASP.NET в документации. Я бы порекомендовал себя с this one. Существуют также учебные пособия для starting out with services, если вы новичок в возврате JSON с сервера.

0

На стороне сервера определите тип с необходимыми свойствами. Затем заполнить массив объектов с использованием кода на стороне сервера либо из базы данных, либо с помощью некоторых случайных данных. Из контроллера используйте встроенный JavaScript Serializer для сериализации массива в JSON и возврата в виде JsonResult. Например,

общественного JsonResult CreateRandomData (кол-целое) {

Список лиц =

возвращение новый JsonResult() {Data = человек, ТипСодержимого = "приложения/JSON", JsonRequestBehavior = JsonRequestBehavior.AllowGet} ;

}

Встроено JsonSerializer (System.Web.Mvc) обеспечивает JSON сериализации и поддержку deserializatoin.