- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在为我的 Web 应用程序使用 Spring MVC、Hibernate、MySQL、JSP 和 JQGrid。在尝试实现一个页面时,我遇到了如下奇怪的行为:
js-for-acctmst.js 文件的相关部分如下:
grid.jqGrid({
datatype: 'json',
mtype: 'GET',
height: 'auto',
url:'/NioERPJ/admin/acctmstmgmt/',
editurl:'/NioERPJ/admin/acctmstmgmt/edit',
colNames:['Company Code','A/c Code','A/c Description','BA Code', 'Sched', 'Rel. Code', 'Header', 'BPTA', 'Perc.', 'T_O_AC', 'Op.Cr.', 'Op.Dr.', 'Sgn', 'Fnd', 'Ledger',
'LedgerSum', 'DFlag', 'Tran Dr.', 'Tran Cr.', 'OutField', 'Gross', 'Net', 'SFlag', 'SaleCD', 'Add3', 'DateOP Dr.', 'DateOP Cr.', 'Username'],
colModel:[
{name:'co_code',index:'co_code',editable:true,edittype:'select',editoptions:{dataUrl:"/NioERPJ/admin/acctmstmgmt/listCmps"},formoptions:{elmprefix:'*'}},
{name:'acc_code',index:'acc_code', width:50, editable:true, editrules:{required:true}, editoptions:{size:7}, formoptions:{elmprefix:'*'}},
{name:'acc_des',index:'acc_des', width:100, editable:true, editrules:{required:true}, editoptions:{size:100}, formoptions:{elmprefix:'*'}},
{name:'ba_code',index:'ba_code', width:50, editable:true, editrules:{required:true}, editoptions:{size:8}, formoptions:{elmprefix:'*'}},
{name:'sched',index:'sched', width:50, editable:true, editrules:{required:true}, editoptions:{size:10}, formoptions:{elmprefix:'*'}},
{name:'rel_code',index:'rel_code', width:50, editable:true, editrules:{required:true}, editoptions:{size:10}, formoptions:{elmprefix:'*'}},
{name:'header',index:'header', width:50, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"}},
{name:'bpta',index:'bpta', width:50, editable:true, editrules:{required:true}, editoptions:{size:10}, formoptions:{elmprefix:'*'}},
{name:'perc',index:'perc', width:50, template : numberTemplate},
{name:'t_o_ac',index:'t_o_ac', width:50, editable:true, editrules:{required:true}, editoptions:{size:1}, formoptions:{elmprefix:'*'}},
{name:'op_cr',index:'op_cr', width:50, template : numberTemplate},
{name:'op_dr',index:'op_dr', width:50, template : numberTemplate},
{name:'sgn',index:'sgn', width:100, editable:true, editrules:{required:true}, editoptions:{size:30}, formoptions:{elmprefix:'*'}},
{name:'fnd',index:'fnd', width:50, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"}},
{name:'ledger',index:'ledger', width:50, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"}},
{name:'ledgersum',index:'ledgersum', width:50, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"}},
{name:'dflag',index:'dflag', width:50, editable:true, editrules:{required:true}, editoptions:{size:30}, formoptions:{elmprefix:'*'}},
{name:'tran_dr',index:'tran_dr', width:50, template : numberTemplate},
{name:'tran_cr',index:'tran_cr', width:50, template : numberTemplate},
{name:'out_field',index:'out_field', width:50, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"}},
{name:'gross',index:'gross', width:50, template : numberTemplate},
{name:'net',index:'net', width:50, template : numberTemplate},
{name:'sflag',index:'sflag', width:50, editable: true,edittype:"checkbox",editoptions: {value:"Yes:No"}},
{name:'salecd',index:'salecd', width:50, editable:true, editrules:{required:true,number:true}, editoptions:{size:10}, formoptions:{elmprefix:'*'}},
{name:'add3',index:'add3', width:100, editable:true, editrules:{required:true}, editoptions:{size:30}, formoptions:{elmprefix:'*'}},
{name:'dateop_dr',index:'dateop_dr', width:50, template : numberTemplate},
{name:'dateop_cr',index:'dateop_cr', width:50, template : numberTemplate},
{name:'username',index:'username', width:100, editable:true, editrules:{required:true}, editoptions:{size:30}, formoptions:{elmprefix:'*'}}
],
gridview: true,
toolbar: [false, "bottom"],
pager: $('#pager'),
rowNum:15,
rowList:[10,20,30],
sortname: 'acc_code',
sortorder: "asc",
viewrecords: true,
altRows: false,
autowidth:true,
shrinkToFit:false,
forceFit:true,
jsonReader : {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false
},
Controller 文件'Acctmstcontroller.java'如下:
package com.nej.controller;
@Controller
@RequestMapping(value={"/admin/acctmstmgmt"})
public class AcctMstController {
@Autowired
private AcctMstService acctmstService;
@Autowired
private CompanyMstService companymstService;
@RequestMapping(value="/open")
public ModelAndView opAcctmstmgmt(){
ModelAndView model = new ModelAndView();
model.setViewName("/admin/acctmstmgmt");
return model;
}
@RequestMapping(method=RequestMethod.GET, produces="application/json")
public @ResponseBody AcctMstResponse getAll(
@RequestParam("_search") Boolean search,
@RequestParam(value="filters", required=false) String filters,
@RequestParam(value = "rows", required=false) Integer rows,
@RequestParam(value = "page", required=false) Integer page,
@RequestParam(value = "sidx", required=false) String sidx,
@RequestParam(value = "sord", required=false) String sord,
HttpServletRequest request) {
if (search == true) {
return getFilteredRecords(filters, rows,page, sidx, sord);
}
List<AcctMst> list = null;
list = acctmstService.getAcctMsts(rows,page, sidx, sord);
AcctMstResponse response = new AcctMstResponse();
response.setRows(list);
int count = acctmstService.getNoOfRecords();
int total = count%rows == 0 ? (int)Math.ceil(count/rows) : (int)Math.ceil(count/rows)+1;
response.setTotal(total);
response.setRecords(count);
response.setPage(page);
return response;
}
public AcctMstResponse getFilteredRecords(String filters, Integer rows, Integer page, String sidx, String sord) {
List<AcctMst> list = null;
list = acctmstService.searchAcctMsts(filters,rows,page, sidx, sord);
AcctMstResponse response = new AcctMstResponse();
response.setRows(list);
int count = acctmstService.getNoOfRecords();
int total = count%rows == 0 ? (int)Math.ceil(count/rows) : (int)Math.ceil(count/rows)+1;
response.setTotal(total);
response.setRecords(count);
response.setPage(page);
return response;
}
@RequestMapping(value="/edit")
public ModelAndView doEdit(HttpServletRequest request) {
Byte co_code = 0;
String acc_code = null;
String acc_des = null;
String ba_code = null;
String sched = null;
String rel_code = null;
boolean header = false;
String bpta = null;
double perc = 0.00d;
String t_o_ac = null;
double op_cr = 0.00d;
double op_dr = 0.00d;
String sgn = null;
boolean fnd = false;
boolean ledger = false;
boolean ledgersum = false;
String dflag = null;
double tran_dr = 0.00d;
double tran_cr = 0.00d;
boolean out_field = false;
double gross = 0.00d;
double net = 0.00d;
boolean sflag = false;
String salecd = null;
double add3 = 0.00d;
double dateop_dr = 0.00d;
double dateop_cr = 0.00d;
String username = null;
String oper = null;
Enumeration<String> paramNames = request.getParameterNames();
while(paramNames.hasMoreElements()){
String s = paramNames.nextElement();
if("co_code".equalsIgnoreCase(s)){
co_code = Byte.parseByte(request.getParameter("co_code"));
}else if("acc_code".equalsIgnoreCase(s)){
acc_code = request.getParameter("acc_code");
}else if("acc_des".equalsIgnoreCase(s)){
acc_des = request.getParameter("acc_des");
}else if("ba_code".equalsIgnoreCase(s)){
ba_code = request.getParameter("ba_code");
}else if("sched".equalsIgnoreCase(s)){
sched = request.getParameter("sched");
}else if("rel_code".equalsIgnoreCase(s)){
rel_code = request.getParameter("rel_code");
}else if("header".equalsIgnoreCase(s)){
header = Boolean.parseBoolean(request.getParameter("header"));
}else if("bpta".equalsIgnoreCase(s)){
bpta = request.getParameter("bpta");
}else if("perc".equalsIgnoreCase(s)){
perc = Double.parseDouble(request.getParameter("perc"));
}else if("t_o_ac".equalsIgnoreCase(s)){
t_o_ac = request.getParameter("t_o_ac");
}else if("op_cr".equalsIgnoreCase(s)){
op_cr = Double.parseDouble(request.getParameter("op_cr"));
}else if("op_dr".equalsIgnoreCase(s)){
op_dr = Double.parseDouble(request.getParameter("op_dr"));
}else if("sgn".equalsIgnoreCase(s)){
sgn = request.getParameter("sgn");
}else if("fnd".equalsIgnoreCase(s)){
fnd = Boolean.parseBoolean(request.getParameter("fnd"));
}else if("ledger".equalsIgnoreCase(s)){
ledger = Boolean.parseBoolean(request.getParameter("ledger"));
}else if("ledgersum".equalsIgnoreCase(s)){
ledgersum = Boolean.parseBoolean(request.getParameter("ledgersum"));
}else if("dflag".equalsIgnoreCase(s)){
dflag = request.getParameter("dflag");
}else if("tran_dr".equalsIgnoreCase(s)){
tran_dr = Double.parseDouble(request.getParameter("tran_dr"));
}else if("tran_cr".equalsIgnoreCase(s)){
tran_cr = Double.parseDouble(request.getParameter("tran_cr"));
}else if("out_field".equalsIgnoreCase(s)){
out_field = Boolean.parseBoolean(request.getParameter("out_field"));
}else if("gross".equalsIgnoreCase(s)){
gross = Double.parseDouble(request.getParameter("gross"));
}else if("net".equalsIgnoreCase(s)){
net = Double.parseDouble(request.getParameter("net"));
}else if("sflag".equalsIgnoreCase(s)){
sflag = Boolean.parseBoolean(request.getParameter("sflag"));
}else if("salecd".equalsIgnoreCase(s)){
salecd = request.getParameter("salecd");
}else if("add3".equalsIgnoreCase(s)){
add3 = Double.parseDouble(request.getParameter("add3"));
}else if("dateop_dr".equalsIgnoreCase(s)){
dateop_dr = Double.parseDouble(request.getParameter("dateop_dr"));
}else if("dateop_cr".equalsIgnoreCase(s)){
dateop_cr = Double.parseDouble(request.getParameter("dateop_cr"));
}else if("username".equalsIgnoreCase(s)){
username = request.getParameter("username");
}else if("oper".equalsIgnoreCase(s)){
oper = request.getParameter("oper");
}
}
Map<String, String> model = new HashMap<String, String>();
if("edit".equalsIgnoreCase(oper)){
AcctMst acctmst = new AcctMst();
acctmst.setAcccode(acc_code);
acctmst.setAccdes(acc_des);
acctmst.setAdd3(add3);
acctmst.setBacode(ba_code);
acctmst.setBpta(bpta);
acctmst.setCocode(co_code);
acctmst.setDateopcr(dateop_cr);
acctmst.setDateopdr(dateop_dr);
acctmst.setDflag(dflag);
acctmst.setFnd(fnd);
acctmst.setGross(gross);
acctmst.setHeader(header);
acctmst.setLedger(ledger);
acctmst.setLedgersum(ledgersum);
acctmst.setNet(net);
acctmst.setOpcr(op_cr);
acctmst.setOpdr(op_dr);
acctmst.setOutfield(out_field);
acctmst.setPerc(perc);
acctmst.setRelcode(rel_code);
acctmst.setSalecd(salecd);
acctmst.setSched(sched);
acctmst.setSflag(sflag);
acctmst.setSgn(sgn);
acctmst.setToac(t_o_ac);
acctmst.setTrancr(tran_cr);
acctmst.setTrandr(tran_dr);
acctmst.setUsername(username);
acctmstService.updateAcctMst(acctmst);
}else if("add".equalsIgnoreCase(oper)){
AcctMst acctmst = acctmstService.getAcctMst(co_code, acc_code);
if(acctmst == null){
acctmst = new AcctMst();
acctmst.setCocode(co_code);
acctmst.setAcccode(acc_code);
acctmst.setAccdes(acc_des);
acctmst.setBacode(ba_code);
acctmst.setSched(sched);
acctmst.setRelcode(rel_code);
acctmst.setHeader(header);
acctmst.setBpta(bpta);
acctmst.setPerc(perc);
acctmst.setToac(t_o_ac);
acctmst.setOpcr(op_cr);
acctmst.setOpdr(op_dr);
acctmst.setSgn(sgn);
acctmst.setFnd(fnd);
acctmst.setLedger(ledger);
acctmst.setLedgersum(ledgersum);
acctmst.setDflag(dflag);
acctmst.setTrandr(tran_dr);
acctmst.setTrancr(tran_cr);
acctmst.setOutfield(out_field);
acctmst.setGross(gross);
acctmst.setNet(net);
acctmst.setSflag(sflag);
acctmst.setSalecd(salecd);
acctmst.setAdd3(add3);
acctmst.setDateopdr(dateop_dr);
acctmst.setDateopcr(dateop_cr);
acctmst.setUsername(username);
acctmstService.saveAcctMst(acctmst);
}else{
throw new RuntimeException();
}
}else if("del".equalsIgnoreCase(oper)){
acctmstService.deleteAcctMst(co_code, acc_code);
}
return new ModelAndView("admin/acctmstmgmt",model);
}
我无法解决为什么有些列在 JQGrid 中不显示的问题? pl。帮助。
我从 apache 日志添加以下调试输出
DEBUG o.h.internal.util.EntityPrinter - com.nej.acctmst.model.AcctMst{rel_code=2, tran_dr=2.0, perc=2.0, bpta=2, dateop_cr=2.0, acc_des=Test - 2, out_field=true, sflag=true, sgn=2, net=2.0, fnd=true, op_cr=2.0, add3=2.0, ledger=true, dflag=2, gross=2.0, tran_cr=2.0, ledgersum=true, salecd=2, dateop_dr=2.0, sched=2, header=false, op_dr=2.0, t_o_ac=2, ba_code=2, username=Test-2} 18:39:23.163 [http-apr-8080-exec-25] DEBUG o.h.internal.util.EntityPrinter - com.nej.acctmst.model.AcctMst{rel_code=1, tran_dr=1.0, perc=1.0, bpta=1, dateop_cr=1.0, acc_des=Test Account, out_field=true, sflag=false, sgn=1, net=1.0, fnd=true, op_cr=1.0, add3=1.0, ledger=true, dflag=1, gross=1.0, tran_cr=1.0, ledgersum=true, salecd=1, dateop_dr=1.0, sched=1, header=true, op_dr=1.0, t_o_ac=1, ba_code=1, username=Test}
我已经安装了 Fiddler 并发现了以下 JSON 输出
{"rows":[
{"sched":"1","header":true,"bpta":"1","perc":1.0,"sgn":"1","fnd":true,"ledger":true,
"ledgersum":true,"dflag":"1","gross":1.0,"net":1.0,"sflag":false,"salecd":"1",
"add3":1.0,"username":"Test","opdr":1.0,"opcr":1.0,"toac":"1","dateopdr":1.0,
"acccode":"1","cocode":1,"accdes":"Test Account","bacode":"1","dateopcr":1.0,
"trancr":1.0,"outfield":true,"trandr":1.0,"relcode":"1"},
{"sched":"2","header":false,"bpta":"2","perc":2.0,"sgn":"2","fnd":true,"ledger":true,
"ledgersum":true,"dflag":"2","gross":2.0,"net":2.0,"sflag":true,"salecd":"2",
"add3":2.0,"username":"Test-2","opdr":2.0,"opcr":2.0,"toac":"2","dateopdr":2.0,
"acccode":"2","cocode":2,"accdes":"Test - 2","bacode":"2","dateopcr":2.0,
"trancr":2.0,"outfield":true,"trandr":2.0,"relcode":"2"}
],
"total":1,
"records":2,
"page":1
}
从输出中可以看出,字段的顺序已更改,并且字段的名称与 colModel 中的名称不同(在某些字段中下划线已被删除)。我的诊断正确吗?
最佳答案
在 @Oleg 的广泛帮助和指导下,我可以得出这样的结论:传递到我的 jsp 文件的 JSON 数据的格式不正确。字段名称的顺序不同,并且下划线字符已从中删除。这就是我的 .jsp 文件中某些字段未显示的原因。
关于mysql - JQGrid 不显示某些列的值,而其他列的值显示正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28790694/
我的问题:非常具体。我正在尝试想出解析以下文本的最简单方法: ^^domain=domain_value^^version=version_value^^account_type=account_ty
好吧,这就是我的困境: 我正在为 Reddit 子版 block 开发常见问题解答机器人。我在 bool 逻辑方面遇到了麻烦,需要一双更有经验的眼睛(这是我在 Python 中的第一次冒险)。现在,该
它首先遍历所有 y 值,然后遍历所有 x 值。我需要 X 和 y 同时改变。 For x = 3 To lr + 1 For y = 2 To lr anyl.Cells(x, 1)
假设我有一个包含 2 列的 Excel 表格:单元格 A1 到 A10 中的日期和 B1 到 B10 中的值。 我想对五月日期的所有值求和。我有3种可能性: {=SUM((MONTH(A1:A10)=
如何转换 Z-score来自 Z-distribution (standard normal distribution, Gaussian distribution)到 p-value ?我还没有找到
我正在重写一些 Javascript 代码以在 Excel VBA 中工作。由于在这个网站上搜索,我已经设法翻译了几乎所有的 Javascript 代码!但是,有些代码我无法准确理解它在做什么。这是一
我遇到过包含日期格式的时间戳日期的情况。然后我想构建一个图表,显示“点击”项目的数量“每天”, //array declaration $array1 = array("Date" => 0); $a
我是scala的新手! 我的问题是,是否有包含成员的案例类 myItem:Option[String] 当我构造类时,我需要将字符串内容包装在: Option("some string") 要么 So
我正在用 PHP 创建一个登录系统。我需要用户使用他或她的用户名或电子邮件或电话号码登录然后使用密码。因为我知道在 Java 中我们会像 email==user^ username == user 这
我在 C++ 项目上使用 sqlite,但是当我在具有文本值的列上使用 WHERE 时出现问题 我创建了一个 sqlite 数据库: CREATE TABLE User( id INTEGER
当构造函数是显式时,它不用于隐式转换。在给定的代码片段中,构造函数被标记为 explicit。那为什么在 foo obj1(10.25); 情况下它可以工作,而在 foo obj2=10.25; 情况
我知道这是一个主观问题,所以如果需要关闭它,我深表歉意,但我觉得它经常出现,让我想知道是否普遍偏爱一种形式而不是另一种形式。 显然,最好的答案是“重构代码,这样你就不需要测试是否存在错误”,但有时没有
这两个 jQuery 选择器有什么区别? 以下是来自 w3schools.com 的定义: [attribute~=value] 选择器选择带有特定属性,其值包含特定字符串。 [attribute*=
为什么我们需要CSS [attribute|=value] Selector根本当 CSS3 [attribute*=value] Selector基本上完成相同的事情,浏览器兼容性几乎相似?是否存在
我正在解决 regx 问题。我已经有一个像这样的 regx [0-9]*([.][0-9]{2})。这是 amont 格式验证。现在,通过此验证,我想包括不应提供 0 金额。比如 10 是有效的,但
我正在研究计算机科学 A 考试的样题,但无法弄清楚为什么以下问题的正确答案是正确的。 考虑以下方法。 public static void mystery(List nums) { for (
好的,我正在编写一个 Perl 程序,它有一个我收集的值的哈希值(完全在一个完全独立的程序中)并提供给这个 Perl 脚本。这个散列是 (string,string) 的散列。 我想通过 3 种方式对
我有一个表数据如下,来自不同的表。仅当第三列具有值“债务”并且第一列(日期)具有最大值时,我才想从第四列中获取最大值。最终值基于 MAX(DATE) 而不是 MAX(PRICE)。所以用简单的语言来说
我有一个奇怪的情况,只有错误状态保存到数据库中。当“状态”应该为 true 时,我的查询仍然执行 false。 我有具有此功能的 Controller public function change_a
我有一个交易表(针对所需列进行了简化): id client_id value 1 1 200 2 2 150 3 1
我是一名优秀的程序员,十分优秀!