extjs CheckboxGroup默认选中问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了extjs CheckboxGroup默认选中问题相关的知识,希望对你有一定的参考价值。

<script type="text/javascript">
Ext.onReady(function()
var port = new Ext.Viewport(
layout: 'border',
items: [chkEditDomain],
cls: "inner-viewport",
listeners:
render: function()
Ext.getCmp("itemsid0").setValue("211", true);
Ext.getCmp("itemsid0").setValue("212", true);
Ext.getCmp("itemsid0").setValue("213", true);
Ext.getCmp("itemsid0").setValue("214", true);


);
);
var chkEditDomain = new Ext.form.CheckboxGroup(
xtype: 'checkboxgroup',
fieldLabel: '测试',
name: 'chkEditDomain',
allowBlank: false,
id: 'itemsid0',
width: 200,
columns: 4,
items: [
boxLabel: 'IND', name: 'IND', id: '211', inputValue: '5' ,
boxLabel: 'CE', name: 'CE', id: '212', inputValue: '6' ,
boxLabel: 'SC', name: 'SC', id: '213', inputValue: '8' ,
boxLabel: 'FA', name: 'FA', id: '214', inputValue: '7'
]
);

</script>
为什么只有最后一个被选中,纠结!!!高手帮帮忙啊

参考技术A Ext.onReady(function()
var port = new Ext.Viewport(
layout: 'border',
items: [chkEditDomain],
cls: "inner-viewport",
listeners:
render: function()
// Ext.getCmp("itemsid0").setValue("211", true);
// Ext.getCmp("itemsid0").setValue("212", true);
// Ext.getCmp("itemsid0").setValue("213", true);
// Ext.getCmp("itemsid0").setValue("214", true);


);
);
var chkEditDomain = new Ext.form.CheckboxGroup(
xtype: 'checkboxgroup',
fieldLabel: '测试',
name: 'chkEditDomain',
allowBlank: false,
id: 'itemsid0',
width: 200,
columns: 4,
items: [
boxLabel: 'IND', name: 'IND', id: '211', inputValue: '5', checked:true ,
boxLabel: 'CE', name: 'CE', id: '212', inputValue: '6' ,checked:true,
boxLabel: 'SC', name: 'SC', id: '213', inputValue: '8' ,checked:true,
boxLabel: 'FA', name: 'FA', id: '214', inputValue: '7' ,checked:true
]
);

这样行吗?追问

直接加checked:true属性可以,但是我是根据数据库中的条件来判断是否被选中的

追答

Ext.onReady(function()
var port = new Ext.Viewport(
layout: 'border',
items: [chkEditDomain],
cls: "inner-viewport",
listeners:
render: function()
Ext.getCmp("itemsid0").setValue([true, true,true,true]);
// Ext.getCmp("itemsid0").setValue("212", true);
// Ext.getCmp("itemsid0").setValue("213", true);
// Ext.getCmp("itemsid0").setValue("214", true);



);
);
var chkEditDomain = new Ext.form.CheckboxGroup(
xtype: 'checkboxgroup',
fieldLabel: '测试',
name: 'chkEditDomain',
allowBlank: false,
id: 'itemsid0',
width: 200,
columns: 4,
items: [
boxLabel: 'IND', name: 'IND', id: '211', inputValue: '5' ,
boxLabel: 'CE', name: 'CE', id: '212', inputValue: '6' ,
boxLabel: 'SC', name: 'SC', id: '213', inputValue: '8' ,
boxLabel: 'FA', name: 'FA', id: '214', inputValue: '7'
]
);

这样吧,应该OK了。
你的写法应该是每次覆盖上次的赋值,所以只有最后一个OK。个人理解。
这个也行:
Ext.getCmp("itemsid0").setValue(
'211':true,
'212':true,
'213': false,
'214': true
);

本回答被提问者采纳

extjs gridpanel 操作行 得到选中行

extjs gridpanel 操作行 得到选中行的列

 
在Extjs 3.2.0上适合
var model = grid.getSelectionModel();  
model.selectAll();//选中所有行  
model.selectFirstRow();//选中第一行  
model.selectLastRow([flag]);//选中最后一行,flag为正的话保持当前已经选中的行数,不填则默认false  
model.selectNext();//选中下一行  
model.selectPrevious();//选中上一行  
model.selectRange(startRow,endRow, [Boolean keepExisting] );//选中范围间的行  
model.selectRow(row);//选中某一行,,,从0开始  
model.selectRows(rows);//选中指定一些行,传递数组如[1,3,5],则分别选择1,3,5行  
model.clearSelections();//清空所有选中  
model.deselectRange( startRow, endRow );//取消从startrow到endrow的记录的选择中态  
model.deselectRow(row);//取消指定行的记录

grid.getSelected().id //得到选中的行的标识

得到选中的行。
书上的P62页:
 var sm=grid.getSelectionModel();
var record=sm.getSelections()[0];这个代表选择的一行,书上少了一个s。
var record=sm.getSelections()表示选中的很多行,得到的是一个数组。
精确到具体某一列的数据,, record.get("列名")。
适合Extjs 3.2
var sm=grid.getSelectionModel();
var record=sm.getSelected();
record只是一行数据。如果选择多好数据则这个不行了。

Extjs中EditorGridPanel获取某一单元格内的控件的相关信息

 
技术分享
 
1. 获取列号为colIndex行号为rowIndex的单元格内的控件的方法为:
var compo= grid.getColumnModel().getCellEditor(colIndex, rowIndex);
2. 获取该单元格内的控件的值的方法为:
var value = compo.getValue();
3. 假设compo为combobox控件,则获取控件的数据源的方法为:
var compoStore = compo.field.getStore();
4. 在3的基础上获取选中的combobox的Index的方法:
var index = compoStore .find(‘列名‘,value);
 
 
转自:http://blog.csdn.net/mastershaw/article/details/51385042

以上是关于extjs CheckboxGroup默认选中问题的主要内容,如果未能解决你的问题,请参考以下文章

extjs4.0 checkboxgroup控件如何取值

extjs CheckboxGroup

急求关于extjs 动态加载checkbox

ExtJs中checkboxgroup 动态加载数据怎么弄的?

ExtJs中Combo组件默认选中

extjs gridpanel 操作行 得到选中行