为了账号安全,请及时绑定邮箱和手机立即绑定

将列设为复选框

将列设为复选框

九州编程 2019-11-04 10:37:30
我用数据库请求加载网格(在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');    }}它似乎没有被优化,但是可以工作!
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超3个赞

对不起,但我不完全了解您的工作。如果formatter: "checkbox"用于某列,则复选框的值将根据输入值自动设置(“ true”,“ yes”或“ 1”会在选中复选框后进行设置)。无需执行其他操作loadComplete。如果希望不禁用复选框,则需要使用formatoptions: { disabled: false}该列的属性 。要检测复选框状态的更改,可以使用beforeSelectRow回调。setCell例如,可以使用它来保存复选框的新状态

查看完整回答
反对 回复 2019-11-04
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

我在创建时添加了列的属性,它更加简单并且有效。我正在使用loadComplete回调函数来初始化复选框的布尔值。但是,尽管如此,它们还是不可编辑的editable:true。我正在寻找原因。 

查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 592 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信