我有2个类,User.java和Bank.java。 每个用户都有一个银行的引用。当我添加新用户时,我必须从银行列表中选择一个银行。 所以我的问题是如何将对象列表(从DB)加载到jqGrid中的select表单,并且知道所选数据将作为Integer(引用Bank表的外键)在DB中注册,你告诉我这是怎么回事。
@Entity
public class Utilisateur {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long idUser;
.
.
@Autowired
@ManyToOne
private Agence agence;
@ManyToOne
private Banque banque;
这是我的控制器
@RequestMapping(value = "/getall", method = RequestMethod.GET)
public @ResponseBody
CustomUserResponse getAll() {
System.out.println("affichage");
List<Utilisateur> users = utilisateurDao.getAllUsers();
List<Banque> banks=utilisateurDao.getAllBanks();
CustomUserResponse response = new CustomUserResponse();
response.setRows(users);
response.setRecords(String.valueOf(users.size()));
response.setPage("1");
response.setTotal("10");
return response;
}
@RequestMapping(value = "/add", method = RequestMethod.POST)
public @ResponseBody
CustomGenericResponse add(
@RequestParam("nom") String nom, @RequestParam("prenom") String prenom,
@RequestParam("nomAcces") String nomAcces,
@RequestParam("typeAcces") TypeAcces typeAcces,
@RequestParam("motPasse") String motPasse,
@RequestParam("banque") Banque banque
) {
logger.debug("Received request to add a new user");
// Construct our new user object. Take note the id is not required.
// Assign the values from the parameters
Utilisateur user = new Utilisateur();
user.setNom(nom);
user.setPrenom(prenom);
user.setNomAcces(nomAcces);
user.setTypeAcces(typeAcces);
user.setMotPasse(motPasse);
user.setBanque(banque);
// Do custom validation here or in your service
// Call service to add
Boolean success = utilisateurDao.save(user);
感谢。
答案 0 :(得分:0)
如果您查看
上的文档http://www.trirand.com/jqgridwiki/doku.php?id=wiki:predefined_formatter
它们描述了如何生成将在编辑表单中使用的选择事件。
例如:(作为银行列colModel内部设置的一部分
formatter:'select', editoptions:{value:"1:One;2:Two"}
银行的ID和名称将是您传递的值。您也可以让网格查询您的控制器以构建此列表。
答案 1 :(得分:0)
我找到解决方案并且它有效, 要生成选择表单,我必须插入一个有效的HTML(
@RequestMapping(value = "/listBanks")
public @ResponseBody
String listBanques(String idbanq) {
String select = null;
String selectfinal = null;
List<Banque> banks = utilisateurDao.getAllBanks();
for (Banque b : banks) {
select = select + "<option value=" + b.getIdBanque() + ">"
+ b.getNom() + "</option>"
}
selectfinal = "<select>" + select + "</select>";
return selectfinal;
}
并在ColModel中:
${name:'idBanque',index:'banque',width:100, editable: true,edittype:"select",editoptions:{dataUrl:"/ConsultationArchive/med/crud/listBanks"}},
感谢您的帮助,:))