2011-10-06 6 views
1

내 선택 필드에서 내 템플릿 데이터를 표시하는 데 시간이 많이 걸렸습니다.Sencha Touch : selectastfield에 데이터 저장소 json 데이터 가져 오기

내 TemplateStore은 다음과 같습니다 :

Ext.regModel('tempItems', { 
    fields: [ 
     { name: 'Name', type: 'string' } 
    ] 
}); 

Ext.regStore('TempStore', { 
    model: 'tempItems', 
    autoLoad: true, 
    proxy: { 
     type: 'ajax', 
     url: 'http://localhost:56132/Service.asmx/GetTemplateModels', 
     reader: { 
     type: 'json', 
     root: 'd' 
     } 
    } 
}); 

Selectfield 코드 :

xtype: 'selectfield', 
name: 'template', 
style: 'background-color: inherit; margin-left: 8px', 
store: 'TempStore', 
displayField: 'Name', 
valueField: 'Name' 

JSON 데이터를 반환합니다 :

"{"d":[{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 1","id":1},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 2","id":2},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 3","id":3},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 4","id":4},{"__type":"SenchaTouchProblem.TemplateModel","Name":"Test 5","id":5}]}" 

어떤 도움이나 포인터 놀라운 것입니다! http://www.vbninja.com/SenchaTouchProblem.zip

감사 라이언

답변

0

업데이트 :

나는 샘플 여기 내 문제를 보여주는 프로젝트를 업로드하고

코드를 확인한 후, 당신은 몇 가지 잘못이있다. 먼저 json을 사용하지 않고 xml을 사용하므로 독자가 틀렸고 자동로드 구성 옵션에 오타가 있습니다. autoLoad 여야합니다 (대문자 L에주의하십시오.). 어쨌든 시도해보십시오. 이 :

App.stores.tempStore = new Ext.data.Store({ 
    model: 'tempItems', 
    proxy: { 
     type: 'ajax', 
     url: '/Service.asmx/GetTemplateModels', 
     reader: { 
      type: 'xml', 
      record: 'TemplateModel' 
     }, 
     actionMethods: { 
      create: 'POST', 
      read: 'POST', 
      update: 'PUT', 
      destroy: 'DELETE' 
     } 
    }, 
    autoLoad: true 
}); 
+0

루이스, 응답 시간을내어 주셔서 감사합니다. 나는 그것을 추가했지만 여전히 운이 없다. (나는 내 ​​문제를 시연하는 작은 응용 프로그램을 업로드했다. http://www.vbninja.com/SenchaTouchProblem.zip – Ryan

+0

문제가 있으면 업데이트를 확인하고 알려준다. 견본을 달아서 여기 뭔가가 빠진 경우에는 파일을 압축해서 보내 줄 수 있습니다. – Luis

+0

고마워요, 루이스! 가끔은 다른 사람이 당신의 어깨를 들여다 보게하는 데 도움이 될 때도 있습니다. 코드가 너무 깁니다. – Ryan