GWT で単一選択問題 (または単一選択テスト) を実行したいと考えています。したがって、行ごとに1つのチェックボックスのみが選択された行が必要です。
単一の選択を行うにはどうすればよいですか? 私はSingleSelectionModelについて考えましたが、行ではなくCellTableにのみ適用できます。
「CheckBoxGroupCell」のようなものが欲しいのですが、ウェブ上で関連するものが見つかりませんでした。
ご協力いただきありがとうございます!
編集:
これは、MultipleChoice テストの私のソリューションです。
Column<EvaluationDto, Boolean> getRadioButtonColumn(final int mark) {
return new Column<EvaluationDto, Boolean>(new CheckboxCell(true, false)) {
@Override
public Boolean getValue(EvaluationDto object) {
return object.getMark() == mark ? true : false;
}
@Override
public void render(Cell.Context context, EvaluationDto eval, SafeHtmlBuilder sb) {
RadioButton r = new RadioButton("");
// sur une ligne un seul radioButton sera selectionné
r.setName(eval.getQuestion().getCategory().getTitle() + eval.getQuestion().getTitle());
SafeHtml html = SafeHtmlUtils.fromTrustedString(r.toString());
sb.append(html);
}
@Override
public void onBrowserEvent(Context context, Element parent, EvaluationDto object, NativeEvent event) {
super.onBrowserEvent(context, parent, object, event);
object.setMark(mark);
}
};
}
そしてcssで
input[type="radio"] {
-webkit-appearance: checkbox;
-moz-appearance: checkbox;
-ms-appearance: checkbox;
-o-appearance: checkbox; }
すべての radiosButton をチェックボックスに変更します。(つまり、作業しないでください)
すべての EvaluationDto を取得した後 (マークが更新されました)。