我用数据库请求加载网格(在PHP中使用CodeIgniter abd jqgrid helper)。我没有任何问题可以显示带有我的数据的漂亮网格。
我想显示一个带有复选框的新列,以选择一个或几行。
加载后无法添加新列。因此,我尝试这样做:-在创建网格时添加了列,-在创建时,我添加了带有函数的'loadComplete'选项,-在播放时,函数被执行。这里是 :
function ajoutCheckBox() {
var grille = $("#users_grid");
// Construire les checkbox dans la colonne D
grille.setColProp('Dest', {editable: true});
grille.setColProp('Dest', {edittype: 'checkbox'});
grille.setColProp('Dest', {editoptions: { value: "True:False" }});
grille.setColProp('Dest', {formatter: "checkbox"});
grille.setColProp('Dest', {formatoptions: { disabled: true}});
// Insérer la valeur false dans toutes les lignes de la colonne D
var index = grille.jqGrid('getGridParam', '_index');
for(i in index) {
grille.jqGrid('setCell', i, 'Dest', 'False', {});
}
}
如您所见,gris称为“ #users_grid”,列名为“ Dest”。
我的问题:没有附加内容...
谢谢您的帮助 !
XB
编辑:我发现以下解决方案:
复选框列添加在colModel语句中,
为了初始化该值并激活复选框(在创建!时将其禁用),我使用了"loadComplete"回调函数。
代码很简单,但我很难找到...
网格创建:
loadComplete: function() { ajoutCheckBox() },
colModel:[.... {"name":"Env","index":"Env","width":30,"hidden":false,"align":"left","edittype":"checkbox","formatter":"checkbox","formatoptions":"{ disabled: false}","editable":true,"editoptions":{"editoptions":"{ value: \"True:False\", defaultValue: \"False\" }}","size":10}}, ....]
回调函数:
function ajoutCheckBox() {
var grille = $("#users_grid");
var index = grille.jqGrid('getGridParam', '_index');
for(i in index) { // Pour toutes les lignes du tableau
grille.jqGrid('setCell', i, 'Env', 'False');
$('#'+i).find("input:checkbox").removeAttr('disabled');
}
}
它似乎没有被优化,但是可以工作!
呼如林
慕田峪7331174