I've been messing with this for a few days now and I'm losing my mind. I was able to get jqGrid working, using a 'local' datatype and now I'm trying to tie it to my SQL data. I get no errors, just a blank grid. I've searched the web and tried numerous examples with no luck. The grid displays and the column headers appear, just no data. I also receive no js errors. I'm not interested in paging, sorting, searching, etc… at this point. Just need to get the data displaying. Can someone point me in the right direction?
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
<div class="sfcode">VB.NET code:<br /> ============<br /> Public Function GetGridData() As JqGridData<br /> Dim sql As String = "Select unit_number, product_code, blood_type, 'No Match' scan_result From product_header Where (product_id < 20) Order By 1, 2, 3"<br /> <br /> Dim dt As New DataTable()<br /> Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("conn").ConnectionString)<br /> Dim adapter As New SqlDataAdapter(sql, conn)<br /> adapter.Fill(dt)<br /> <br /> Dim result As New JqGridData()<br /> Dim gridRows As New List(Of TableRow)()<br /> Dim idx As Integer = 1<br /> <br /> For Each row As DataRow In dt.Rows<br /> Dim newrow As New TableRow()<br /> newrow.id = idx<br /> newrow.cell = New List(Of String)(4)<br /> newrow.cell(0) = row(0).ToString()<br /> newrow.cell(1) = row(1).ToString()<br /> newrow.cell(2) = row(2).ToString()<br /> newrow.cell(3) = row(3).ToString()<br /> gridRows.Add(newrow)<br /> Next<br /> <br /> result.total = 2<br /> result.page = 1<br /> result.records = gridRows.Count<br /> result.rows = gridRows<br /> <br /> Return result<br /> End Function<br /> <br /> Public Class TableRow<br /> <br /> Private m_id As Integer<br /> Private m_cell As List(Of String)<br /> <br /> Public Property id() As Integer<br /> Get<br /> Return m_id<br /> End Get<br /> Set(ByVal value As Integer)<br /> m_id = value<br /> End Set<br /> End Property<br /> <br /> Public Property cell() As List(Of String)<br /> Get<br /> Return m_cell<br /> End Get<br /> Set(ByVal value As List(Of String))<br /> m_cell = value<br /> End Set<br /> End Property<br /> <br /> End Class<br /> <br /> Public Class JqGridData<br /> <br /> Private m_total As Integer<br /> Private m_page As Integer<br /> Private m_records As Integer<br /> Private m_rows As List(Of TableRow)<br /> <br /> Public Property total() As Integer<br /> Get<br /> Return m_total<br /> End Get<br /> Set(ByVal value As Integer)<br /> m_total = value<br /> End Set<br /> End Property<br /> <br /> Public Property page() As Integer<br /> Get<br /> Return m_page<br /> End Get<br /> Set(ByVal value As Integer)<br /> m_page = value<br /> End Set<br /> End Property<br /> <br /> Public Property records() As Integer<br /> Get<br /> Return m_records<br /> End Get<br /> Set(ByVal value As Integer)<br /> m_records = value<br /> End Set<br /> End Property<br /> <br /> Public Property rows() As List(Of TableRow)<br /> Get<br /> Return m_rows<br /> End Get<br /> Set(ByVal value As List(Of TableRow))<br /> m_rows = value<br /> End Set<br /> End Property<br /> <br /> End Class<br /> <br /> js code:<br /> ========<br /> $(document).ready(function(){<br /> $("#list").jqGrid({<br /> url: 'Display.aspx/GetGridData',<br /> datatype: 'json',<br /> mtype: "GET",<br /> ajaxGridOptions: { contentType: 'application/json; charset=utf-8' },<br /> serializeGridData: function (data) {<br /> return JSON.stringify(data);<br /> },<br /> jsonReader: {<br /> root: "rows",<br /> page: "page",<br /> total: "total",<br /> records: "records",<br /> repeatitems: true<br /> },<br /> colModel: [<br /> {name: 'unit_number', label: 'Unit Number', width: 100, align: 'center'},<br /> {name: 'product_code', label: 'Product Code', width: 200, align: 'center'},<br /> {name: 'blood_type', label: 'Blood Type', width: 200, align: 'center'},<br /> {name: 'scan_result', label: 'Scan Result', width: 200, align: 'center'}<br /> ],<br /> rowNum: 10,<br /> rowList: [10, 20, 30],<br /> sortname: 'id',<br /> sortorder: "asc",<br /> pager: "#pager",<br /> viewrecords: true,<br /> caption: 'My first grid'<br /> }).jqGrid('navGrid', '#pager', {edit: false, add: false, del: false, search: true});<br /> });</div> |
Copyright 2014 TriRand LtdAll Rights ReservedRSS
Back to Top