2014-06-18 141 views
1

我正在使用php mysql後端在extjs 4.2應用程序中工作。我有一個與學生姓名,考試,主題,標記在一行的JSON響應。同樣由mysql數據庫發送。我試圖重新網格如下圖所示:SEM-1和英語的使用extjs4更改網格

enter image description here

所以基本上標記是一個記錄的一部分。但是,Sem-2和英語的標記是第二條記錄的一部分。到目前爲止,我可以展示科目和學期。學期也可以在網格欄中重新配置。但我的理解是一個完整的記錄可以連續顯示。也許通過網格tpl完成。你能幫我麼。如果需要更改json,我們也可以這樣做

當前我的json是{「data」:[{「MarkID」:20,「studentID」:2,「ExamName」:「Semester-1」, 「主題」: 「科學」, 「MaxMarks」:100, 「MarksRecvd」:15},{ 「MarkID」:21, 「studentID」:2 「ExamName」: 「學期-2」, 「主題」 :「社會科學」,「MaxMarks」:100,「MarksRecvd」:25}]}

因此,每個學科 - 學期組合是一個記錄,我可以很容易地顯示網格中的每個記錄。

不過我期待在一個主題的各學期的標記結合起來......所以在這樣一個@TheShalit是正確的JSON可以b改變,所有標記都顯示在一個行

+0

您可以使用'主題分組網格| sem1 | sem2 |'as grid headers and'name:subject' as group.Check this out:http://docs.sencha.com/extjs/4.2.0/#!/ example/build/KitchenSink/ext-theme-neptune/#grouped-grid – Dev

+0

我很抱歉,但我不明白這個例子。我不確定它將如何轉化爲如上所示的表格 – user2677125

+0

不,它可能是另一種方式來滿足您的要求,如示例中所示使用分組。 – Dev

回答

2

您可以使用dataview用於使用自定義佈局模板和格式顯示數據。

該視圖使用Ext.XTemplate作爲其內部模板機制,並綁定到Ext.data.Store,以便隨着存儲中的數據更改,視圖會自動更新以反映更改。

你TPL可能是這樣的:

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>'    
    ); 

這是在上下文中的簡單的演示您的要求:DataView ExJs4.2 Demo

您可以修改TPL accordingly.For更多細節:Ext.XTemplate

+0

您好,謝謝你的努力。 tpl可以和網格一起使用嗎?輸入新數據和編輯相同的網格更容易 – user2677125

1

你能展示你想達到的目標嗎?

我認爲最好的辦法是變化JSON記錄,並添加數據[subject,s1,s2,s3,s4]

+0

嗨@TheShalit,我在我的問題中添加了json響應。從某種意義上說,json需要包含一個學期和相關的學期標記 – user2677125