asp.net 웹 API를 하나로, OData 활성화 된 서비스와 제대로 작동하지 않습니다 (2013.3.1119) & 녹아웃 (2.3)검도 UI 그리드 우리는 검도를 사용하는
우리는 경계 원격 하나로, OData 소스와 아주 간단한 그리드를 만들었습니다 ASP.NET 웹 API에
는 코드 다음 고려 :
$(element).kendoGrid({
dataSource: {
type: 'odata',
transport: {
read: { url: '/odata/VehicleGroups', dataType: 'json' }
},
schema: {
data: function(response) {
return response.value;
},
total: function (response) {
return response['odata.count'];
}
},
serverSorting: true,
serverPaging: true,
serverFiltering: true
},
dataBound: function() {
// we'are using knockout templates instead of kendo templates,
// so after data load & after all row templates are created, we call following code to apply bindings.
ko.memoization.unmemoizeDomNodeAndDescendants(element);
},
autoBind: true,
rowTemplate: function (item) {
// some codes are omitted here.
// following code will use knockout template.
return ko.renderTemplate('rowTemplate', context.createChildContext(item));
},
toolbar: function() {
return ko.renderTemplate('toolbar', context);
},
pageable: {
pageSize: 10
},
sortable: true,
resizable: true,
reorderable: false,
columns: [{ field: 'dVehicle_01', title: 'Unit/Vehicle Number' },
{ field: 'dVehicle_02', title: 'Vehicle Identification Number' },
{ field: 'dVehicle_04', title: 'Vehicle Type' },
{ field: '', title: 'Actions' }]
});
다음 항목을 제대로 작동 :
1 그리드가 생성됩니다.
2- $ inlineCount = allpages 및 take = 10을 사용하는 첫 번째 쿼리가 전송됩니다.
3- 응답이 수신되고 행 템플리트가 생성되어 데이터가 표시됩니다.
4- $ (요소) .data ('kendoGrid'). dataSource.data()는 개체로 채워집니다. 그러나 우리는 문제 다음 한
:.
$ (요소) .DATA ('kendoGrid') pager.dataSource.data()는 그래서 우리의 호출기가 제대로 작동하지 않는 비어 있습니다.
여기 구현에서 잘못된 점은 무엇입니까? 올바른 구성입니까?
kendo Grid DataSource with OData format = json
감사
계 2 :
는 처음에 우리는 당신이 게시물에서 볼 수 있듯이 이제 관리 중 하나로, OData 웹 서비스, 우리의 대응에 문제가 했어시
textStatus: "success"
jqXhr.statusText: "OK"
jqXhr.responseJSON:
odata.count: "29"
odata.metadata: "http://localhost:2452/odata/$metadata#VehicleGroups"
value: Array[10]
jqXhr.getAllResponseHeaders():
"Pragma: no-cache
Date: Sat, 21 Dec 2013 07:20:00 GMT
Server: Microsoft-IIS/8.0
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache
DataServiceVersion: 3.0
Content-Length: 7192
Expires: -1"
jqXhr.state(): "resolved"
jqXhr.responseText:
"{
"odata.metadata":"http://localhost:2452/odata/$metadata#VehicleGroups","odata.count":"29","value":[
{
"YearGroup":[
],"Id":"fdd6a5e0-6587-11e3-978d-2797cb4c371a","Version":"122","DateOfArchive":"2013-12-15T12:54:49.0503312Z","IsArchived":false,"ISV":true,"CreatedBy":"ae5882fb-b833-46d7-9f58-0505ec2a6f8f","CreatedTime":"2013-12-15T12:54:49.0973461Z","LastModifiedTime":"2013-12-15T12:54:49.0973461Z","LastModifiedBy":"ae5882fb-b833-46d7-9f58-0505ec2a6f8f", ...
계 3 : 그리드의 요청의 응답에 대해입니다, 내가 다음 정보를 추가 한 요청
다음 WCF Data Service 샘플 Kendo UI 데모 샘플을 사용하도록 구성을 변경했습니다. http://demos.kendoui.com/service/Northwind.svc/Orders 하지만 유감스럽게도 나에게 적합하지 않았습니다.
계 4 :
나는 2012.2.913을 kendo.all.min을 다운 그레이드 한, 나의 프로젝트는 잘 작동되고 지금은 모두 웹 API & 녹아웃으로 (!).
하지만 웹 API &의 대신 녹아웃없이 WCF 데이터 서비스와 함께,
템플릿을 다른 샘플을 만들었습니다, 그리고 검도 (2013.3.1119)의 최신 버전으로 잘 작동하고 (하지만 내 프로젝트의 외부)
녹아웃 또는 웹 API에 문제가 있습니까?
계 5 :
내 프로젝트에 잘 작동 WCF 데이터 서비스의 샘플을 이동했습니다.
그리고 작동하지 않습니다!
어떤 이유로? 호출기는 내 프로젝트에 내 프로젝트의 안팎, 이전 버전과 함께 작동되지만,
버전도 녹아웃 및 WCF없이, 내 프로젝트에서 작동하지 않습니다,하지만 최신 버전은 내 프로젝트의 외부에서 작업
입니다 최신 .
지금 어떻게해야합니까?
계 6 : kendo.dataViz.js 제거와 는 데이터 그리드는 ASP.NET 웹 API 중 하나로, OData, 녹아웃 템플릿 및 페이징과 협력하고있다.
모든 것이 이제는 내 프로젝트에서 제대로 작동합니다.
Rev 7 : jsfiddle에서 아주 간단한 검도 그리드를 만들었습니다. dataViz가 참조되는 동안 호출기가 작동하지 않습니다.
그러나 dataViz 참조를 제거하면 호출기가 정상적으로 작동합니다.
http://jsfiddle.net/ysmoradi/8L9Pn/2/
참고 :
이 그래서 UI를, 크롬에 그 jsfiddle을 확인하고 모든 CSS를 참조되지 않는하시기 바랍니다 것은 아름다운 것이 아니라 모든 CSS를 추가하면 문제가 해결되지 않습니다.
'complete : function (jqXhr, textStatus) {디버거; }'귀하의 transport.read 및 브라우저 디버그 도구에서 두 변수를 검사하고 당신이 무엇을지고 말해 줄래? – Vojtiik
config가 그렇게 안좋아 보이지 않습니다. 데이터 소스에 schema.model을 구현해야하며, 다시 돌아 오는 응답을 확인하기 위해 schema.parse를 추가해야합니다. 나는 당신이 올바른 데이터를 다시 얻지 못하고 있다고 생각한다. – Vojtiik
@Bobby_D_ 감사합니다. Config에 몇 가지 새로운 항목을 수정했습니다. 응답에 대한 추가 정보를 추가했습니다. 다시 확인해 주시겠습니까? –