2014-06-18 2 views
1

나는 php mysql 백엔드로 extjs 4.2 응용 프로그램을 만들고있다. 학생 이름, 시험, 제목, 표식과 함께 json 응답을 한 행에가집니다. 같은 mysql 데이터베이스에 의해 보내집니다. 하나 개의 기록의 일부를 비영리-1와 영어의extjs4를 사용하여 그리드를 바꾼다

그래서 본질적으로

enter image description here

마르크입니다 : 아래 그림과 같이 내가 그리드를 재구성하려합니다. 그러나 Sem-2 및 영어의 표시는 두 번째 기록의 일부입니다. 지금까지 나는 과목과 학기를 보여줄 수 있습니다. 학기는 그리드 열에 재구성 될 수 있습니다. 그러나 나의 이해는 하나의 완전한 기록이 연속적으로 보여 질 수 있다는 것이다. 어쩌면 그리드 tpl을 통해 할 수 있습니다. 저를 도와주세요. json의 변경이 필요한 경우 우리는이를 수행 할 수 있습니다.

현재 내 json은 { "dataID": 20, "studentID": 2, "ExamName": "Semester-1", "Subject": "Science", "MaxMarks": 100, "MarksRecvd": 15}, { "MarkID": 21, "studentID": 2, "ExamName": "Semester-2", "Subject" : "사회 과학", "MaxMarks": 100, "MarksRecvd": 25}]}

그래서 모든 과목 - 학기 조합은 레코드이고 그리드의 모든 레코드를 쉽게 표시 할 수 있습니다. 나는 하나 개의 주제에 여러 학기의 마크를 결합 찾고 있어요 그러나

... 방법의 @TheShalit이 바로 그 JSON을 변경할 수 b이며 모든 마크는 한 행에 표시됩니다 너무

+0

로 데이터를 추가 생각 sem1 | grep 헤더와'name : subject' 그룹으로 사용합니다. 다음을 확인하십시오 : http : //docs.sencha.com/extjs/4.2.0/#!/example/build/KitchenSink/ext-theme-neptune/# grouped-grid – Dev

+0

미안하지만 예제를 이해하지 못합니다. 위와 같이 테이블로 변환하는 방법을 모르겠습니다. – user2677125

+0

아니요. 예제와 같이 그룹화를 사용하여 요구 사항을 충족시키는 다른 방법 일 수 있습니다. – Dev

답변

2
사용할 수

데이터보기 사용자 정의 레이아웃 템플릿 및 서식을 사용하여 데이터를 표시합니다.

View는 Ext.XTemplate을 내부 템플릿 메커니즘으로 사용하고 Ext.data.Store에 바인딩되어 있으므로 저장소의 데이터가 변경되면보기가 변경 사항을 반영하도록 자동으로 업데이트됩니다. DataView ExJs4.2 Demo

당신은 TPL accordingly.For 자세한 내용을 수정할 수 있습니다 여기에

var tableTpl = new Ext.XTemplate(
     '<tpl>'+ 
     '<table class="tableViewDemo" width="100%" height="100%" padding="" border="1">' + 
     '<tr>' + 
     '<td width="50%" height="5%" style="padding-left:2%;">Subject</td>' + 
     '<td width="50%" height="5%" style="padding-left:2%;">Semester-1 Marks</td>' + 
     '</tr>' + 
     '</tpl>' + 
     '<tpl for=".">'+ 
     '<table class="tableViewDemo" width="100%" height="100%" padding="" border="1">' + 
     '<tr>' + 
     '<td width="50%" height="5%" style="padding-left:2%;">{subject}</td>' + 
     '<td width="50%" height="5%" style="padding-left:2%;">{sem1}</td>' + 
     '</tr>' + 
     '</tpl>'    
    ); 

가 귀하의 요구 사항에 맥락에서 간단한 데모는 다음과 같습니다

귀하의 TPL은 다음과 같이 될 수있다 : Ext.XTemplate

+0

안녕 UR 노력을위한 dev에 감사드립니다. 격자를 그리드와 함께 사용할 수 있습니까? 새로운 데이터를 입력하고 편집하는 것은 격자로 더 쉽습니다 – user2677125

1

달성하고자하는 것을 보여줄 수 있습니까? |

나는 가장 좋은 방법은 변화 json으로 기록하는 것입니다 그리고 당신은`주제로 그룹화 그리드를 사용할 수 있습니다 [subject,s1,s2,s3,s4]

+0

안녕하세요 @ TheShalit, 제 질문에 json 응답을 추가했습니다.어떤 방법 으로든 json은 하나의 suject와 관련 학기 '마크를 포함해야합니다. – user2677125