当声明变量等于0时,我声明了用于使数据表中的行变色的变量。所以这是我的代码。
private String validationField(List<List<TsmTimesheetHdr>> timesheetList) {
String errorCode = "";
if (isOverLimitPerDay()) {
errorCode = MessageConst.CIELO_APP_ERR_00013;
}
for (List<TsmTimesheetHdr> list : timesheetList) {
int count = 0;
boolean isTimeEntry = false;
for (TsmTimesheetHdr hdr : list) {
if (count++ == 0) {
if (Utils.isEmpty(hdr.getProjectCode()) || Utils.isEmpty(hdr.getActivity())
|| Utils.isEmpty(hdr.getTaskCode())) {
errorCode = MessageConst.CIELO_APP_ERR_00003;
hdr.setIsValid("0");
continue;
}
else {
hdr.setIsValid("1");
}
}
if (hdr.getHoursSpend() != 0.0) {
isTimeEntry = true;
}
}
if (!Utils.isEmpty(errorCode))
continue;
if (!isTimeEntry) {
errorCode = MessageConst.CIELO_APP_ERR_00002;
break;
}
}
return errorCode;
}
我如何在这个if语句中使用hdr
if (!isTimeEntry) {
errorCode = MessageConst.CIELO_APP_ERR_00002;
break;
}
答案 0 :(得分:1)
如果您正在进行此验证:
if (!isTimeEntry) {
errorCode = MessageConst.CIELO_APP_ERR_00002;
break;
}
对于特定 hdr
对象,您必须确定何时识别循环中的此hdr
对象然后将此hdr
设置为局部变量,然后在验证中使用此变量...
类似的东西:
private String validationField(List<List<TsmTimesheetHdr>> timesheetList) {
String errorCode = "";
TsmTimesheetHdr distinctHdr;
// for loop ...
// for loop [
if(hdr.meets_criteria()){
distinctHdr = hdr;
}
]
// the use this obj for your validation
if (!isTimeEntry) {
errorCode = MessageConst.CIELO_APP_ERR_00002;
// now you have acccess ...
doSomethingWithHdrs(distictHdr);
break;
}
如果您的验证适用于所有 hdr
个对象,请移动您的
if (!isTimeEntry) {
errorCode = MessageConst.CIELO_APP_ERR_00002;
break;
}
进入循环。
希望我理解你的问题,gl。
答案 1 :(得分:0)
您将hdr保存到原始列表中并相应地使用这些列表。见样本
for (List<TsmTimesheetHdr> list : timesheetList) {
int count = 0;
boolean isTimeEntry = false;
for (TsmTimesheetHdr hdr : list) {
if (count++ == 0) {
if (Utils.isEmpty(hdr.getProjectCode()) || Utils.isEmpty(hdr.getActivity())
|| Utils.isEmpty(hdr.getTaskCode())) {
errorCode = MessageConst.CIELO_APP_ERR_00003;
hdr.setIsValid("0");
continue;
} else {
hdr.setIsValid("1");
}
}
if (hdr.getHoursSpend() != 0.0) {
isTimeEntry = true;
}
}
if (!Utils.isEmpty(errorCode)) {
continue;
}
if (!isTimeEntry) {
list.get(count).setIsValid("0")
errorCode = MessageConst.CIELO_APP_ERR_00002;
break;
}
}
}