其他分享
首页 > 其他分享> > easy UI中DataGrid表格增加一个选择列

easy UI中DataGrid表格增加一个选择列

作者:互联网

这2天接到一个需求,要求在EasyUI绑定数据列表的地方,加一个选择列,勾选后点击添加按钮,将当前行的ID插入进另外一个表中。 研究了好久,终于找到对应的方法,现在细说一下: 在绑定网格的地方,加入如下代码:  columns.unshift({field:"Chk",title:"选择",fixed:false,formatter:function(value,row,index)     {         if(Projects.indexOf(row.Code)!=-1)         {         return "<input type='checkbox' checked='true' value='"+row.Code+"'/>";         }         else         {return "<input type='checkbox' value='"+row.Code+"'/>";}     }});//增加选择列   columns是当前表格的列,使用unshift方法,是在当前表格的首列插入,如果用Push,则表示在表格末尾列插入。  formatter表达式,是为了将每一行checkbox绑定当前行的ID,并判断,当前这ID已经被添加进表,就设置当前行的checkbox为选中状态。   完整代码如下:   function BindTable() {

 

    //获得查询的基本信息, 实体属性 attrs, 实体数据.     var pageIdx = this.GetQueryString("PageIdx");     var pageSize = this.GetQueryString("PageSize");

 

    if (pageIdx == "" || pageIdx == undefined)         pageIdx = "1";     if (pageSize == "" || pageSize == undefined)         pageSize = "15";

 

    var mapdata = SearchData(pageIdx, pageSize);//这里的mapdata是在其他函数中通过后台查询到了表格的值。     var attrs = mapdata["Attrs"];     if (attrs == undefined) {         alert('没有取得属性.');         return;     }     var keyOfEn = "";     var columns = new Array();             if (attr.UIContralType == 2)             columns.push({                 field: field,                 title: title,                 fixed: false,                 formatter: function (value, row, index) {                     if (value == "0") return "否";                     if (value == "1") return "是";                 }             });         else             columns.push({                 field: field,                 title: title,                 fixed: false             });     }       columns.unshift({field:"Chk",title:"选择",fixed:false,formatter:function(value,row,index)     {         if(Projects.indexOf(row.Code)!=-1)         {         return "<input type='checkbox' checked='true' value='"+row.Code+"'/>";         }         else         {return "<input type='checkbox' value='"+row.Code+"'/>";}     }});//增加选择列       sysMapData = mapdata["Sys_MapData"][0];     sysMapData = new Entity("BP.Sys.MapData", sysMapData); //把他转化成entity.    

 

    var data = mapdata["DT"];     $('#dg').datagrid({         data: data,         columns: [columns],         fitColumns: false,         fit: true,         rownumbers: true,         striped: true,         singleSelect: true,         pagination: true,         pagePosition: 'bottom',         toolbar: "#tb",         loadFilter: pagerFilter,         onDblClickRow: function (index, rowData) {             var pkval = rowData["No"];             var objectID = "No";             if (pkval == undefined) {                 pkval = rowData["OID"];                 objectID = "OID";             }             if (pkval == undefined) {                 pkval = rowData["MyPK"];                 objectID = "MyPK";             }             if (pkval == undefined) {                 pkval = rowData["WorkID"];                 objectID = "WorkID";             }             if (pkval == undefined) {                 pkval = rowData["NodeID"];                 objectID = "NodeID";             }             var paras = "&" + objectID + "=" + pkval;             for (var i = 0; i < attrs.length; i++) {                 var attr = attrs[i];                 if (attr.UIContralType == 1)                     paras += "&" + attr.KeyOfEn + "=" + rowData[attr.KeyOfEn];             }         }     }); }

标签:return,undefined,DataGrid,rowData,UI,pkval,easy,var,columns
来源: https://www.cnblogs.com/albert-/p/14633847.html