I have a Vector of Scores for test grades, as a property of my Assignment class.
I have an Edit Box on an xpage where I want to edit the value and write back to the Vector in the managed bean. The value binding of the Edit Box is:
<xp:this.value><![CDATA[#{rpt.scores[rowIndex]}]]></xp:this.value> Where rpt is the Assignment object from my bean. The Edit Box is in a repeat control because I don't know how many students will be taking the test each time. So I am using the rowIndex of the repeat control to identify which element of the Scores Vector I want to bind to.
It is reading the value from the Scores Vector correctly, but I cannot seem to change the value and have it written back to the Vector.
How do I get it to write the value back to the Scores[n] element of the Assignment class?
here is the Assignment Class from my bean:
package com.logickey.gradebook;
import java.io.Serializable;
import java.util.Vector;
public class Assignment implements Serializable {
/**
*
*/
private static final long serialVersionUID = -1500382996574385949L;
private String Name;
private String Teacher;
private String AssignNum;
private String AssignDate;
private Vector<String> Scores;
public Assignment() {
Name = "";
Teacher = "";
AssignNum = "";
AssignDate = "";
Scores = new Vector<String>();
}
public Assignment(String name, String teacher, String assignNum, String assignDate, Vector<String> scores){
Name = name;
Teacher = teacher;
AssignNum = assignNum;
AssignDate = assignDate;
Scores = scores;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public String getTeacher() {
return Teacher;
}
public void setTeacher(String teacher) {
Teacher = teacher;
}
public String getAssignNum() {
return AssignNum;
}
public void setAssignNum(String assignNum) {
AssignNum = assignNum;
}
public String getAssignDate() {
return AssignDate;
}
public void setAssignDate(String assignDate) {
AssignDate = assignDate;
}
public Vector<String> getScores() {
return Scores;
}
public void addScore(String input) {
if (Scores==null) {
Scores = new Vector<String>();
}
Scores.add(input);
}
}