コードに2つのセクションスタックセクションがあり、onwは入力データの動的フォームを表示し、2番目のセクションスタックセクションは動的フォームセクションで保存ボタンを押すと入力データを表示するリストグリッドを表示しています。
3 つのクラスを作成しました。1 つは Dynamic Form を拡張する EmployeeApplicationForm、2 番目は listgrid を拡張する EquiryList、3 番目は getter と setter の ListGridRecord を拡張する EnquiryFormRecord です。
テキストボックスのデータを取得し、EnquiryFormRecord コンストラクターを呼び出して、「データ」変数のデータを取得および設定しました。しかし、この「データ」変数を EnquiryList クラスにアクセスして、listGird フィールドの「setData(data)」にアクセスできません。
私のコードはこれです。この問題を解決するためのアイデアを共有してください EmployeeApplicationClass And EnquiryList:
class EmployeeApplicationForm extends DynamicForm {
ButtonItem saveButton;
ButtonItem resetButton;
EnquiryFormRecord[] data;
public EmployeeApplicationForm() {
setNumCols(6);
setWidth100();
setHeight(135);
setErrorOrientation(FormErrorOrientation.RIGHT);
final TextItem fname = new TextItem("FirstName");
final TextItem lname = new TextItem("LastName");
saveButton = new ButtonItem("Save");
saveButton.setStartRow(true);
saveButton.setEndRow(false);
resetButton = new ButtonItem("Reset");
resetButton.setStartRow(false);
resetButton.setEndRow(false);
saveButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
// if validation passes then show user an alert message box
if (valid()) {
SC.say("Form passed validation");
}
String fn = fname.getValueAsString();
String ln = lname.getValueAsString();
data = new EnquiryFormRecord[] { new EnquiryFormRecord(fn, ln) };
}
});
resetButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// TODO Auto-generated method stub
resetForm();
}
});
setFields(fname, lname, saveButton, resetButton);
}
private boolean valid() {
return this.validate();
}
private void resetForm() {
this.reset();
}
}
class EnquiryList extends ListGrid {
public EnquiryList(EnquiryFormRecord[] data) {
ListGridField fname = new ListGridField("fname","First Name");
ListGridField lname = new ListGridField("lname","Last Name");
setFields(fname, lname);
setData(data);------/*Hera I am getting error. I cannot access the EmployeeAppliocationForm class "data" variable here*/
setCanEdit(true);
setShowAllRecords(true);
// setSortField(0);
setAlternateRecordStyles(true);
setCanDragRecordsOut(true);
setHoverWidth(200);
setHoverHeight(20);
setSelectionType(SelectionStyle.SINGLE);
}
}