gpt4 book ai didi

java - 将数据和列名作为数组传递给 jqgrid

转载 作者:行者123 更新时间:2023-11-30 04:33:04 25 4
gpt4 key购买 nike

我正在使用 JQGRID 以表格格式显示数据。我已成功从 servlet 访问 jqgrid 中的数据。我使用 XML 作为数据类型。

我的问题是我应该如何将列名作为数组传递?到目前为止,我可以通过 javascript 手动为列命名来在 jqgrid 中显示记录。但我想从数据库中获取列名并将其作为数组传递给 jqgrid。

以下是我的代码片段:

<script language="javascript">
function fillGridOnEvent()
{
$("#jQGrid").html("<table id=\"list\"></table><div id=\"page\"></div>");
jQuery("#list").jqGrid({
url:'<%=request.getContextPath()%>/JQGridServlet?q=1&action=fetchData',
datatype: "xml",
height: 250,
colNames:['Sr. No.','Student Name','Student Std.','Student RollNo.',"Action"],
colModel:[{name:'srNo',index:'srNo', width:90,sortable:true},
{name:'stdName',index:'stdName', width:130,sortable:false},
{name:'stdStd',index:'stdStd', width:100,sortable:false},
{name:'stdRollNo',index:'stdRollNo', width:180,sortable:false},
{name:'view',index:'view', width:100,sortable:false}
],
multiselect: false,
paging: true,
rowNum:10,
rowList:[10,20,30],
pager: $("#page"),
loadonce:true,
caption: "Table1"
}).navGrid('#page',{edit:false,add:false,del:false});
}
jQuery().ready(function (){
//fillGrid();
});
</script>

Servlet:

protected void showData(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
{
PrintWriter out = response.getWriter();
response.setContentType("text/xml;charset=UTF-8");
String rows = request.getParameter("rows");
int totalPages = 0;
int totalCount = 15;
if (totalCount > 0)
{
if (totalCount % Integer.parseInt(rows) == 0)
{
totalPages = totalCount / Integer.parseInt(rows);
}
else
{
totalPages = (totalCount / Integer.parseInt(rows)) + 1;
}
}
else
{
totalPages = 0;
}
out.print("<?xml version='1.0' encoding='utf-8'?>\n");
out.print("<rows>");
out.print("<page>" + request.getParameter("page") + "</page>");
out.print("<total>" + totalPages + "</total>");
out.print("<records>" + 15 + "</records>");
int srNo = 1;
for (int i=0;i<15;i++)
{
out.print("<row id='" + i + "'>");
out.print("<cell>" + srNo + "</cell>");
out.print("<cell>ABCDEFG</cell>");
out.print("<cell>ABC</cell>");
out.print("<cell>125</cell>");
out.print("</row>");
srNo++;
}
out.print("</rows>");
}

在上面的 servlet 中,我能够发送数据,但现在我还想从 servlet 设置列名称。有什么想法吗?

最佳答案

在初始化 jQgrid 时以及调用数据加载之前,您必须设置一个单独的进程/servlet 来传入列名称。

将列名称的数据传递到页面后,您可以设置一个包含列名称的 var 数组,并将其分配给 colNames: 属性。

关于java - 将数据和列名作为数组传递给 jqgrid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14151365/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com