各セルが個別に編集可能で、各セルのデータがDataObject(DO)と呼ばれるPOJOに含まれているJSFグリッドタイプのコンポーネントがあります。DOの構造は次のようになります。
public class DO {
//Id should be the coordinate. eg x@y . x is the row position and y is the column position
private String id;
//This is value that goes to the client after applying formatter
private Object value;
//flag to indicate whether the cell will be disabled
private boolean disabled;
//flag to indicate whether the cell will be rendered
private boolean rendered=true;
//Editor type for the cell
private String editorType;
}
したがって、基本的にid
フィールドはグリッド内のセルの位置(行と列)を識別します。
この場合、1000行X 100列のグリッドを作成できます。グリッド自体は最初はまばらに配置されています。つまり、ほとんどのセルには最初はDOが含まれていません。したがって、これらのセルの約30%にはデータが含まれ、残りのセルにはデータが含まれません。サーバーからクライアントのJavaScriptにajax経由でJSON形式のデータを渡す必要があります。アイデアは、DOのコレクションを反復処理し、JSON文字列を構築することです。
したがって、2つのセルのデータを持つグリッドのJSONは、次のようになります。
{
id1 : {
editorType:'InputEditor',
value:'1234123',
disabled:'false',
rendered:'true'
},
id2 : {
editorType:'SomeCustomEditor',
value:'23456',
disabled:'true',
rendered:'true'
}
}
この出力JSONを最も効率的な方法で生成するために、ここで使用できる既存のJSON Javaライブラリは何ですか?ここでは、サンプルコードが役立ちます。