Hi semua, saya mau tanya mengenai jqGrid. Saya mempunyai masalah ketika ingin
mengisi data pada jqGrid dengan menggunakan XML. Di bawah ini adalah syntax
struktrur tabel jqGrid yang berada pada file application.js. url dari file XML
tersebut berada pada variabel scheduleUrl, yang digenerate oleh javascript yang
berada pada view.
$(document).ready(function() {
jQuery("#lectures").jqGrid({
datatype: "xml",
url: scheduleUrl,
height: 250,
colNames:['Lecture Number', 'Dates', 'Topics', 'Readings'],
colModel:[
{name:'lecture_number',index:'lecture_number', width:100,
sorttype:"int"},
{name:'lecture_dates',index:'lecture_dates', width:80,
sorttype:"date"},
{name:'topics',index:'topics', width:250,
align:"left",sorttype:"text"},
{name:'readings',index:'readings', width:250,
align:"left",sorttype:"text"},
],
multiselect: true,
caption: "Lecture Schedule"
});
})
Untuk controller, isinya sebagai berikut :
def index
@course = Course.find( params[:course_id] )
@lectures = @course.lectures.sort_by { |l| l.lecture_number }
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @lectures }
format.xml { render :partial => "index.xml.builder", :layout => false }
format.json { render :json => Lecture.to_json( @lectures )}
end
end
Sedangkan isi file _index.xml.builder adalah sebagai berikut:
xml.instruct! :xml, :version=>"1.0", :encoding=>"UTF-8"
xml.rows do
xml.page 1
xml.total 1
xml.records @lectures.size
@lectures.each do |u|
xml.row :id => u.id do
xml.cell u.lecture_number
xml.cell
xml.cell u.topics
xml.cell u.readings
end
end
end
Kemudian pada file index.html.erb, saya ingin menampilkan tabel tersebut.
Sebelum menampilkan tabel, variabel scheduleUrl akan berisi URL pada saat itu,
ditambah dengan extension .xml.
<script>
var scheduleUrl = "<%= course_lectures_path @course %>.xml";
</script>
<table id="lectures"></table>
Ketika page berhasil di-load, yang muncul adalah tabel kosong dengan format
Lecture Schedule
Lecture Number
Dates
Topics
Readings
Data pada file XML tidak nampak, tetapi ketika saya lihat dengan menggunakan
Firebug, pada bagian console terdapat
<?xml version="1.0" encoding="UTF-8"?>
<lectures type="array">
<lecture>
<course-id type="integer">40</course-id>
<id type="integer">603</id>
<lecture-number type="integer">1</lecture-number>
<readings><ul>
<li>Syllabus (<a href="... URL ...">Handout</a> 1)</li>
</ul></readings>
<topics><ul>
<li>Course introduction</li>
</ul></topics>
</lecture>
<lecture>
<course-id type="integer">40</course-id>
<id type="integer">601</id>
<lecture-number type="integer">2</lecture-number>
<readings><ul>
<li>Horstmann, Chapter 1</li><li><a href="... URL
...">Lecture notes</a> set 01</li>
</ul></readings>
<topics><ul>
<li>Introduction to programming</li>
</ul></topics>
</lecture>
............
...........
</lectures>
Kemungkinan file XML tersebut sudah didownload oleh browser, namun ketika
menampilkan ke jqGrid terdapat masalah. Ada yang bisa bantu ?
Best regards,
Robin
[Non-text portions of this message have been removed]