jQuery EasyUI データグリッド -エディタ拡張

いくつかの一般的なエディタ(editor)をデータグリッド(datagrid)に追加して、ユーザーがデータを編集できるようにします。すべてのエディタ(editor)は $.fn.datagrid.defaults.editors オブジェクトに定義されています。これを継承して拡張することで、新しいエディタ(editor)をサポートできます。このチュートリアルでは、データグリッド(datagrid)に新しい numberspinner エディタを追加する方法を説明します。

numberspinner エディタを継承拡張

    $.extend($.fn.datagrid.defaults.editors, {
        numberspinner: {
            init: function(container, options){
                var input = $('<input type="text">').appendTo(container);
                return input.numberspinner(options);
            },
            destroy: function(target){
                $(target).numberspinner('destroy');
            },
            getValue: function(target){
                return $(target).numberspinner('getValue');
            },
            setValue: function(target, value){
                $(target).numberspinner('setValue',value);
            },
            resize: function(target, width){
                $(target).numberspinner('resize',width);
            }
        }
    });

HTML マークアップ内にデータグリッド(DataGrid)を作成する

    <table id="tt" style="width:600px;height:250px"
            url="data/datagrid_data.json" title="Editable DataGrid" iconCls="icon-edit"
            singleSelect="true" idField="itemid" fitColumns="true">
        <thead>
            <tr>
                <th field="itemid" width="60">Item ID</th>
                <th field="listprice" width="80" align="right" editor="{type:'numberbox',options:{precision:1}}">List Price</th>
                <th field="unitcost" width="80" align="right" editor="numberspinner">Unit Cost</th>
                <th field="attr1" width="180" editor="text">Attribute</th>
                <th field="status" width="60" align="center" editor="{type:'checkbox',options:{on:'P',off:''}}">Status</th>
                <th field="action" width="80" align="center" formatter="formatAction">Action</th>
            </tr>
        </thead>
    </table>

numberspinner エディタを 'unit cost' フィールドに割り当てます。行の編集を開始すると、ユーザーは numberspinner エディタを使用してデータを編集できます。

jQuery EasyUI サンプルをダウンロード

jeasyui-datagrid-datagrid23.zip

その他の拡張