hmm, kayanya emang blm di load deh, soalnya pada pemanggilan
$(document).ready(function() {}), itu ketika isi html nya / dokumennya seltelah
di load
jadi $('#lectures').jqrid({}) mestinya dipanggil setelah si xml nya masuk ke
browser
jadi masalah pemanggilan aja, telat gt
saran saya sih kode $('#lectures').jqrid({}), ditaruh bukan langsung pada
$(document).ready(function() {}).
misalnya pada event setelah submit data
$(form).post(url,var,function() {
$('#lectures').jqrid({})
},
xml
);
return false;
On Nov 27, 2009, at 7:33 PM, Robin wrote:
> 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]
>
>
[Non-text portions of this message have been removed]