【发布时间】:2013-05-07 03:42:04
【问题描述】:
我必须禁用我使用 Liferay 搜索容器从数据库中检索到的行。我在数据库中存储了某些条件。
我希望实现的是:
- 我正在显示需要标记出勤率的学生列表。
- 有时学生可能会提前请假,在这种情况下,出勤率会在数据库中预先标记。
- 所以当显示考勤表时,我想通过禁用包含已标记出勤的学生数据的行来禁用考勤。
我想要做的是,如果出勤是预先标记的,则在表格上显示预先标记出勤的行,并且不允许用户为该学生标记出勤,即禁用该行。
我怎样才能做到这一点?
编辑: 代码sn-p
Mark Attendance for Today:
<%=new java.util.Date()%>
<portlet:actionURL name="updateAtt" var="updateAttURL" />
<aui:form name="updateAtt" action="<%=updateAttURL.toString() %>" method="post" >
Choose Date to mark Attendance:
<liferay-ui:input-date formName="attendanceDate" yearRangeStart="<%=year %>" yearRangeEnd="<%=year %>"
yearValue="<%=year %>" monthValue="<%=month %>" dayValue="<%=day %>"
dayParam="datt" monthParam="matt" yearParam="yatt" />
<portlet:renderURL var="viewstudentDataURL"/>
<liferay-ui:search-container delta="20" emptyResultsMessage="No Results Found">
<liferay-ui:search-container-results total="<%= studentAttendanceDetails .size() %>"
results="<%= ListUtil.subList(studentAttendanceDetails , searchContainer.getStart(), searchContainer.getEnd()) %>" />
<liferay-ui:search-container-row modelVar="search"
className="com.corpserver.mis.portal.model.Student">
<%
String LImageId = String.valueOf(search.getFileEntryId());
long ImageId = Long.valueOf(LImageId);
DLFileEntry image = DLFileEntryLocalServiceUtil .getFileEntry(ImageId );
String imageURL = "/documents/" + image.getGroupId() + "/" + image.getFolderId() + "/" + image.getTitle()+"/"+image.getUuid();
%>
<liferay-ui:search-container-column-text name="student Photo" href = "">
<img src="<%=imageURL%>" height="50" width="50"/>
</liferay-ui:search-container-column-text>
<!-- Code to display student Image -->
<%
String eol = System.getProperty("line.separator");
%>
<liferay-ui:search-container-column-text name='student Name' value='<%=String.valueOf(search.getstudentFname()) + String.valueOf(search.getstudentLname()) + "<br>" + String.valueOf(search.getstudentTitle()) %>' href="" >
</liferay-ui:search-container-column-text>
<liferay-ui:search-container-column-text name="Attendance Status">
<label>Present</label><input type = "radio" name ='updateattendance<%=String.valueOf(search.getstudentId())%>' value = "Present" />
<label>Absent</label><input type = "radio" name= 'updateattendance<%=String.valueOf(search.getstudentId())%>' value = "Absent"/>
</liferay-ui:search-container-column-text>
</liferay-ui:search-container-row>
<liferay-ui:search-iterator searchContainer="<%=searchContainer %>" paginate="<%=true %>" />
</liferay-ui:search-container>
<input type = "submit" value = "Update"/>
</aui:form>
</body>
</html>
【问题讨论】:
-
嗨,您可以禁用标记出勤的输入控件吗?如果是,给我们搜索容器行的jsp代码
-
@yannicuLar:我已经用我使用的代码 sn-p 更新了问题..
-
@SeeyaK 与问题无关: 我在您的代码中看到了
</body>和</html>标签。在您的 portlet 的 jsp 中,这些 html 标记不应出现,因为 portlet 仅用于生成片段,并且这些标记由门户自动添加。在某些浏览器中,当您使用 javascript 时,您可能会遇到奇怪的行为,因为会有多个</body>和</html>标签,它们不是格式良好的 html 页面。所以简而言之,我们不应该在portlet的jsp中包含<html>、<body>、<head>、<title>等标签。谢谢 -
@Prakash K : 谢谢你.. 会记下这一点并使用你的建议。
-
显然,您必须在“出勤状态”列中注入一些 java 代码,并通过例如使用 disabled 属性来操作 字段。问题是如何获得“标记出勤”值(它是“com.corpserver.mis.portal.model.Student”类的“搜索”实例的属性吗??)
标签: liferay liferay-6 disabled-input javascript