jQuery MiniUI

 找回密码
 立即注册
查看: 10215|回复: 5
打印 上一主题 下一主题

如何控制datagrid行中的checkbox禁用? [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-6-20 10:07:43 |只看该作者 |倒序浏览
如题:如何控制datagrid行中的checkbox禁用?


Rank: 8Rank: 8

沙发
发表于 2014-6-20 10:09:11 |只看该作者
最前面的checkcolumn
还是编辑器一样的checkboxcolumn列

Rank: 2

板凳
发表于 2014-6-20 10:10:58 |只看该作者
felt 发表于 2014-6-20 10:09
最前面的checkcolumn
还是编辑器一样的checkboxcolumn列

前面的checkcolumn,需要根据一个字段的值来控制他是否禁用

Rank: 8Rank: 8

地板
发表于 2014-6-20 10:15:25 |只看该作者
hsheng 发表于 2014-6-20 10:10
前面的checkcolumn,需要根据一个字段的值来控制他是否禁用

通过drawcell来实现吧
那列加个field
grid.on("drawcell",function(e){
          var field=e.field;
          var record=e.record;
         if(field=="checkc"&&判断条件){
          e.cellHtml="<input type='checkbox' disabled='true'/>"
        }
      })
绘制一个禁用的checkbox来实现你的需求

Rank: 2

5#
发表于 2014-6-20 10:43:51 |只看该作者
本帖最后由 hsheng 于 2014-6-20 10:45 编辑
felt 发表于 2014-6-20 10:15
通过drawcell来实现吧
那列加个field
grid.on("drawcell",function(e){

谢谢。
不过昨天碰到了个问题找不到原因,不知道是不是bug,麻烦看看。
  1. $.ajax({
  2.             type: "post",
  3.             url: "",
  4.             success: function (responseText) {
  5.                 if (responseText.total > 0) {
  6.                     $("#t_supplies tr").last().remove();
  7.                     var tr = "";
  8.                     $.each(responseText.data, function (i, item) {
  9.                         var trid = i + 1;
  10.                         tr += '<tr><td><input id="RegDetailID_' + trid + '" type="hidden" value="' + item.ID + '"/>';
  11.                         tr += '<input type="text" id="SuppliesName_' + trid + '" value="' + item.OSTypeID + '" class="mini-combobox" textfield="TypeName" valuefield="ID" style="width: 150px;" url="../Public/Public.aspx?Action=OfficeSuppliesType" /></td>';
  12.                         tr += '<td><input type="text" id="SuppliesNumber_' + trid + '" value="' + item.Number + '" class="mini-textbox" style="width: 150px;" /></td>';
  13.                         tr += '<td><input type="text" id="SuppliesUnit_' + trid + '" value="' + item.Unit + '" class="mini-combobox" textfield="DictValue" valuefield="DictID" style="width: 150px;" url="../Public/Public.aspx?Action=OfficeSuppliesUnit" /></td>';
  14.                         tr += '<td><input type="text" id="UnitPrice_' + trid + '" value="' + item.UnitPrice + '" class="mini-textbox" style="width: 150px;" /></td>';
  15.                         tr += '<td><input type="text" id="TotalPrices_' + trid + '" value="' + item.TotalPrices + '" class="mini-textbox" style="width: 150px;" onvaluechanged="sumprice()"/><span class="icon-remove delspan" onclick="deltrbyid(' + item.ID + ')"></span></td>';
  16.                         tr += '</tr>';
  17.                     });
  18.                     $("#t_supplies").append(tr);
  19.                     mini.parse(tr);
  20.                     mini.get("CountPrice").setValue(responseText.data[0].Money);
  21.                     mini.get("Remark").setValue(responseText.data[0].Remark);
  22.                     mini.get("PurchaseApprovalId").setValue(responseText.data[0].ApprovalUserId);

  23.                 }
  24.             }
  25.         });
复制代码
  1. function ValidateForm() {
  2.         var tr = $("#t_supplies tr");
  3.         for (var i = 1; i < tr.length; i++) {
  4.             var sssss = mini.get("SuppliesNumber_1").getValue();
  5.             var EquiPmentType = mini.get("SuppliesName_" + i).getValue();
  6.             var EquipmentNumber = mini.get("SuppliesNumber_" + i).getValue();
  7.             var UnitPrice = mini.get("UnitPrice_" + i).getValue();
  8.             var TotalPrices = mini.get("TotalPrices_" + i).getValue();
  9.             var SuppliesUnit = mini.get("SuppliesUnit_" + i).getValue();
  10.             if ($.trim(EquiPmentType) == "") {
  11.                 mini.alert("请选择要采购的用品!");
  12.                 return false;
  13.             }
  14.             if (!JSUtil.validateUtil.isInteger(EquipmentNumber)) {
  15.                 mini.alert("请输入正确的数量!");
  16.                 return false;
  17.             }
  18.             if (!JSUtil.validateUtil.isMoney(UnitPrice)) {
  19.                 mini.alert("请输入正确的单价!");
  20.                 return false;
  21.             } if ($.trim(SuppliesUnit) == "") {
  22.                 mini.alert("请选择用品单位!");
  23.                 return false;
  24.             }
  25.             if (!JSUtil.validateUtil.isMoney(TotalPrices)) {
  26.                 mini.alert("请输入正确的总价!");
  27.                 return false;
  28.             }
  29.         }
  30.         var PurchaseApprovalId = mini.get("PurchaseApprovalId").getValue();
  31.         if ($.trim(PurchaseApprovalId) == "") {
  32.             mini.alert("请选择审批人!");
  33.             return false;
  34.         }
  35.         return true;
  36.     }
复制代码
两段代码:
第一段:是请求数据 然后向table后面追加tr 显示数据。 数据可以正常显示。
第二段:获取table中的数据用来验证,可以获取到第一行的mini.get("SuppliesName_" + i).getValue(); 的值,
然后其余的获取不到了。firebug查看 隐藏的hidden里是有值的,var sssss = mini.get("SuppliesNumber_1").getValue(); 这样写也获取不到值。
浏览器:firefox 30.0(昨天刚更新到30.0,不知道是不是因为更新了的问题)
ie9 chrome 正常。
.aspx的页面

Rank: 8Rank: 8

6#
发表于 2014-6-20 12:44:58 |只看该作者
hsheng 发表于 2014-6-20 10:43
谢谢。
不过昨天碰到了个问题找不到原因,不知道是不是bug,麻烦看看。两段代码:
第一段:是请求数据 然 ...

请做一个简单html页面重现出问题,带上数据
高级模式可以上传文件

Archiver|普加软件

GMT+8, 2024-11-5 14:50 , Processed in 1.060745 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部