日期:2014-05-16  浏览次数:20369 次

Extjs grid中某一行字段中添加Checkbox的问题
   是这样的,我有一个数据库表,其中一个字段(假设字段名称为a)用来表示这行数据是否有效。现在我要把这个表的数据用Grid来显示,但是我想让a这个字段的值显示为一个checkbox,选中代表有效,没选中的代表无效,这样方便用户操作更改。
   请问该怎么实现?我用的是4.1.1版本
------解决方案--------------------
不是有个renderer配置,
columns: [{
            text: '状态',
            sortable: false,
            dataIndex: 'state',//数据源中的状态列
            renderer: function (v) { return '<input type="checkbox"'+(v=="1"?" checked":"")+'/>'; }//根据值返回checkbox是否勾选
        }


至于更新你可以直接给checkbox增加onclick事件每次click更新或者最后遍历checkbox状态得到勾选和取消的状态一起提交到服务器更新
------解决方案--------------------
extjs4里有grid checkbox的插件叫 CheckboxModel也许可以满足你的需求


 var sm = Ext.create('Ext.selection.CheckboxModel');
    var grid2 = Ext.create('Ext.grid.Panel', {
        store: getLocalStore(),
        selModel: sm,
        columns: [
            {text: "Company", width: 200, dataIndex: 'company'},
            {text: "Price", renderer: Ext.util.Format.usMoney, dataIndex: 'price'},
            {text: "Change", dataIndex: 'change'},
            {text: "% Change", dataIndex: 'pctChange'},
            {text: "Last Updated", width: 135, renderer: Ext.util.Format.dateRenderer('m/d/Y'), dataIndex: 'lastChange'}
        ],
        columnLines: true,
        width: 600,
        height: 300,
        frame: true,
        title: 'Framed with Checkbox Selection and Horizontal Scrolling',
        iconCls: 'icon-grid',
        renderTo: Ext.getBody()
    });