2012-04-30 14 views
1

こんにちは、私はSmartGWTを使用しようとしています。SmartGWTのListGridのsetData

は私がdocumentsArrayList

とテーブルにあるArrayListの

ArrayList<FileDocument> documentsArrayList = new ArrayList<FileDocument>(); 

//すべての値を持つグリッドの

private ListGrid getDocumentTable() { 
     if (documentTable == null) { 
      documentTable = new ListGrid(); 
      documentTable.setSize("644px", "379px"); 
      documentTable.setCanResizeFields(true); 

      documentTable.setFields(getStatus(),getIcon(),getName(),getSize(),getModifiedby(),getModifiedDate()); 
     } 
     return documentTable; 
    } 

のフィールドがあるよう

public ListGridField getName() { 
     if (name == null) { 
      name = new ListGridField("name","Name"); 
     } 
     return name; 
    } 

私は入れたいリスト値をテーブルに配列する値。

documentTable.setData(一部のリストグリッドレコード)。

ArrayListListGridRecord に変換する方法を教えてください。

listGrid.setData(getListridRecords(employees)); // set records here 

private void getListGridRecords(ArrayList employees) { 
     ListGridRecords records[]=null; 
     if(employees!=null){ 
     records = new ListGridRecord[employees.size()]; 
     for(int cntr=;cntr<employees.size();cntr++){ 
     ListGridRecord record = new ListGridRecord(); 
     Employee emp = employees.get(cntr); 
     record.setAttribute("name",emp.getName()); //your ListGridField 's name 
     record.setAttribute("status",emp.getStatus()); //your ListGridField 's name 
     //.. more goes here 
     records[cntr] = record; 
     } 

    } 
    return records; 
} 

別の方法でした:

答えて

2

あなたは、入力として、あなたのArrayListを私達accpetするメソッドを作成し、例外listGrid.setData(ListGridRecord[] records);

キックを使って順番に設定することができますListGridRecordの配列を返す必要がありますthis

+0

oops私の間違い。私はそれを編集しました:) –

+0

あなたはこの質問で私を助けることができます[リンク](http://stackoverflow.com/q/10412060/780393) – GameBuilder

+0

何が問題なのですか? –

0

なります。また、クラス

配列リストをコンバージョンすることができ使用することができますListGridFieldのsetDataメソッドに追加できるrecordListに書き込まれます。 以下は実装のコードスニペットです。値オブジェクトを直接使用することができるように

`RecordList recordList = new RecordList(); 
for(DocumentsArrayList documentsArray: documentsArrayList) 
{ 
    Record record = new Record(); 
    record.setAttribute("Name", getName()); 
    record.setAttribute("size", getSize()); 
    record.setAttribute("user", getuser()); 
    recordList.add(record); 
}   
documentTable.setData(recordList); 
} 

` すべての属性名は、POJOの値と一致する必要があります。

関連する問題