选中extjs中gridpanel中的所有复选框

时间:2010-11-16 08:29:25

标签: extjs checkbox gridpanel

我想在网格面板中检查Ext.grid.CheckColumn所做的所有复选框, 我可以知道是否有任何简单的方法可以做到这一点? 我已经尝试将类添加到复选框(Ext.grid.CheckColumn),但它似乎不起作用。

非常感谢!

3 个答案:

答案 0 :(得分:9)

如果您将商店字段呈现为checbox列,则必须将该字段设置为true才能存储商店中的所有记录。

store.each(function(rec){ rec.set('field', true) })

永远不要尝试直接更改网格单元格的值,始终通过商店的相应记录更改它。

更新:如果您有许多记录,请使用以下内容:

store.suspendEvents(); // avoid view update after each row
store.each(function(rec){ rec.set('field', true) })
store.resumeEvents();
grid.getView().refresh();

答案 1 :(得分:1)

Ext.grid.CheckboxSelectionModel提供了一个selectAll()方法,如果这是您正在寻找的方法。

http://dev.sencha.com/deploy/dev/docs/?class=Ext.grid.CheckboxSelectionModel

你能告诉我们一些代码吗?我认为CheckColumn是你创造的东西吗?

答案 2 :(得分:1)

<script language="javascript" type="text/javascript">
 var SelectAll = function (value) {
        Store1.data.each(function (record) {
            record.set('IsSelected', value); 
        });
    };
</script>

<ext:Button ID="btnSelectAll" runat="server" Text="Select All" >
      <Listeners>
             <Click Handler="SelectAll(true);" />
      </Listeners>
</ext:Button>

注意:Store1是商店的名称,IsSelected是JsonReader阅读器中指定的字段名称