数据未在 JQGrid 中加载

Posted

技术标签:

【中文标题】数据未在 JQGrid 中加载【英文标题】:Data is not loading in JQGrid 【发布时间】:2016-03-15 16:07:36 【问题描述】:

数据未加载到 jqgrid 中。当我运行代码时也没有错误。我认为我在从控制器传递数据并在视图中接收时遇到了一些问题。当我在 html 表中加载从数据库检索到的数据时,它对我来说工作得很好。请帮忙。

<script src="~/JQGridReq/jquery-1.9.0.min.js" type="text/javascript"></script>
    <link href="~/JQGridReq/jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />
    <script src="~/JQGridReq/jquery.jqGrid.js" type="text/javascript"></script>
    <link href="~/JQGridReq/ui.jqgrid.css" rel="stylesheet" type="text/css" />

    <script type="text/javascript">

        jQuery("#jQGridDemo").jqGrid(
            url: '@Url.Action("Details1", "Details")',
            datatype: "json",
            colNames: ['Id', 'First Name', 'Last Name', 'Salary', 'Gender'],
            colModel: [ name: 'ID', index: 'ID', width: 20 ,
                        name: 'FirstName', index: 'FirstName', width: 20 ,
                        name: 'LastName', index: 'LastName', width: 20 ,
                        name: 'Salary', index: 'Salary', width: 20 ,
                        name: 'Gender', index: 'Gender', width: 20 ],
            rowNum: 10,
            mtype: 'GET',
            rowList: [10, 20, 30],
            pager: '#jQGridDemoPager',
            viewrecords: true,
            sortorder: 'desc'
        );

    </script>  
model IEnumerable<MvcApplication31.Models.Employee>
@
    ViewBag.Title = "Details1";


<!DOCTYPE html>
<html>
<head runat="server">
    <meta name="viewport" content="width=device-width" />
    <title>List of All Employees</title>
  </head>


<body bgcolor="red" align="center" style="font-family: Arial; font-size: 10pt">
   <h2>List of Empolyees</h2>

    @*<table style="border: solid 15px red; width: 100%; vertical-align: central;">  
        <tr>  
            <td style="padding-left: 20px; padding-top: 20px; padding-bottom: 20px; background-color: skyblue; font-family: 'Times New Roman'; font-weight: bold; font-size: 20pt; color: chocolate;">jQ Grid Example In  ASP.NET C#  
            </td>  
        </tr>  
        <tr>  
            <td style="text-align: center; vertical-align: central; padding: 50px;">  
                <table id="dataGrid" style="text-align: center;"></table>  
                <div id="pagingGrid"></div>  
            </td>  
        </tr>  
    </table>  
     <div id="pagingGrid"></div>*@


    @*<table style="border: solid 15px red; width: 100%; vertical-align: central;">  
        <tr>  
            <td style="padding-left: 20px; padding-top: 20px; padding-bottom: 20px; background-color: skyblue; font-family: 'Times New Roman'; font-weight: bold; font-size: 20pt; color: chocolate;">jQ Grid Example In  ASP.NET C#  
            </td>  
        </tr>  
        <tr>  
            <td style="text-align: center; vertical-align: central; padding: 50px;">  
                <table id="dataGrid" style="text-align: center;"></table>  
                <div id="pagingGrid"></div>  
            </td>  
        </tr>  
    </table>*@ 
   <!-- <table id="entrydata" border="1"    align="center" bgcolor="pink">
       <!-- <tr>
            <th>
                ID
            </th>
            <th>
              FirstName
            </th>
            <th>
                LastName
            </th>
           <th>
                Salary
            </th>
           <th>
                Gender
            </th>
</tr>-->
@*@foreach (var item in Model)

    <tr>
            <td>
                @Html.DisplayFor(modelItem=>item.ID)
                </td>
        <td>
              @Html.DisplayFor(modelItem=>item.FirstName)
                </td>
        <td>
             @Html.DisplayFor(modelItem=>item.LastName)
                </td>
        <td>
             @Html.DisplayFor(modelItem=>item.Gender)
                </td>
        <td>
             @Html.DisplayFor(modelItem=>item.Salary)
                </td>
        </tr>

     </table>-->*@
    <table id="jQGridDemo">
</table>
<div id="jQGridDemoPager">
</div>
</body>
</html>
    

控制器代码:-

public ActionResult Details1()
        
            string ConnectionString = ConfigurationManager.ConnectionStrings["EmployeeContext"].ConnectionString;
            SqlDataReader rdr = null;
            List<Employee> l = new List<Employee>();
            SqlDataAdapter da;
            DataSet ds = new DataSet();
            using (SqlConnection connection = new SqlConnection("data source=.; database=Srivatsava; integrated security=SSPI"))
            
                connection.Open();
                da = new SqlDataAdapter("select * from Employee", connection);
                da.Fill(ds);
                foreach (DataRow dr in ds.Tables[0].Rows)
                
                   l.Add(new Employee()  ID = int.Parse(dr[0].ToString()), FirstName = dr[1].ToString(), LastName = dr[2].ToString(), Salary = int.Parse(dr[3].ToString()),Gender=dr[4].ToString() );
                        
                //Create an instance of SqlCommand class, specifying the T-SQL command that 
                //we want to execute, and the connection object.
                //SqlCommand cmd = new SqlCommand("Select Id,FirstName,LastName,Salary,Gender from tblEm", connection);
               // rdr = cmd.ExecuteReader();
              /*  while (rdr.Read())
                
                    // get the results of each column
                    int id = (int)rdr["ID"];
                    string contact = (string)rdr["FirstName"];
                    string company = (string)rdr["LastName"];
                    int city = (int)rdr["Salary"];
                    string gender = (string)rdr["Gender"];
                    // print out the results
                    Console.Write(contact);
                    Console.Write(city);
                    Console.Write(company);
                    Console.WriteLine(gender);
                    Console.WriteLine(id);
                */
                connection.Close();
            
            return View(l);
        

【问题讨论】:

【参考方案1】:

您返回的是View,而不是Json。您的return 声明应如下所示。

 return Json(l, JsonRequestBehavior.AllowGet);

【讨论】:

是的,它对我有用。非常感谢。但数据以原始格式显示。数据未以 jqgrid 格式加载。 你应该在服务器端进行。此链接可能会对您有所帮助。 mikedormitorio.azurewebsites.net/BlogPost/…

以上是关于数据未在 JQGrid 中加载的主要内容,如果未能解决你的问题,请参考以下文章

在 MVC 中加载 jqGrid

数据未在 UITableView 中加载。可能是啥问题?

本地数据未在 phonegap build + appframework 应用程序中加载

页面未在 chrome 中加载

SSDT 项目未在 azure v12 数据库的 Visual Studio 2012 中加载

CollectionView 单元格未在视图控制器中加载