Class StaticGrid
静态(动态)列表(grid)

 Class Summary
  StaticGrid
(静态grid类)

 Field Summary
string  id
grid标识
Element  Dom
grid所在对象div
Element  element
grid的dom对象类型为table
Array  data
grid的数据
string  selectedRow
grid的当前选中行的ID

 Method Summary
void  init(LabArray)
初始化列表
void  initData(json)
初始化数据
void  clearData()
清除数据
void  addData(addData)
添加数据
void  removeData(rowid)
删除数据
string  getValue(rowid,column)
获取值
void  setValue(rowid, column, nvalue)
赋值
void  colour()
数据行着色{斑马条}
void  setRowBackGround(rowid, backG)
设置行背景
void  setRowDbclick(fn)
设置行双击动作
void  setEditMode(click)
设置编辑状态(click{dbclick:跟双击行事件会有冲突})
Element  getRowObjById(rId)
根据rowid获取行Obj{Element}
Array  getScrollWed()
获取位置(grid数据滚动条的位置)
void  setScrollWed(ar)
定位(grid滚动条)
void  selectRowById(rId)
选中指定行{行ID}
boolean  checkRowId(rowid)
检查rowid是否已存在
string  getRowIds()
获取所有行的ID
string  dataToString()
将数据转换成 字符型

 Class Detail

StaticGrid
* 静态grid
* 支持json数据


例子:
<div id="executorList" style="width:100%;height:100%;overflow:auto;cursor:default;"></div>

<script type="text/javascript">
  var staticGrid = new StaticGrid("executorList"); //实例化类
  staticGrid.init("[{id:'fName',name:'名称',width:100},{id:'fType',name:'类型',width:80}]"); //初始化
  staticGrid.setRowDbclick(staticGridDbclick); //设置行双击事件
</script>


 Method Summary

void  init(LabArray);
初始化

   Parameters:
    LabArray
         [{object,object}]or{string}[required]表头配置信息

        类型:字符串或json数组
        例如:[{id:'fCode',name:'编码',width:60},{id:'fName',name:'名称',width:60}]
   Returns:
         {Object}
        
   Example:

staticGrid.init("[{id:'fName',name:'名称',width:100},{id:'fType',name:'类型',width:80}]"); //初始化


void  initData(json)
初始化数据

   Parameters:
     json
         [{object,object}][required]json数据
        
例如:[{rowid:'xinhua',fCode:'zhangsan',fName:'张三'},{rowid:'xhege',fCode:'lisi',fName:'李四'}]

   Returns:
         {void}
        
   Example:

    var jsondata = [{rowid:'xinhua',fCode:'zhangsan',fName:'张三'},{rowid:'xhege',fCode:'lisi',fName:'李四'}];
    staticGrid.initData(jsondata);


void  clearData()
清除数据

   Parameters:
    

   Returns:
         {void}
        
   Example:

    staticGrid.clearData();


void  addData(json)
初始化数据

   Parameters:
     json
         [{object,object}][required]json数据
        
例如:{rowid:'dd',fCode:'test',fName:'测试'} 对应自己定义的列给值

   Returns:
         {void}
        
   Example:

    var jsondata = {rowid:'dd',fCode:'test',fName:'测试'};
    staticGrid.addData(jsondata);


void  removeData(rowid)
初始化数据

   Parameters:
    rowid
         {string}[required]数据行ID
        

   Returns:
         {void}
        
   Example:

    staticGrid.removeData("dd");


string  getValue(rowid,column)
初始化数据

   Parameters:
    rowid
         {string}[required]数据行ID
    column
         {string}[required]数据列名   

   Returns:
         {string}
        
   Example:

    staticGrid.getValue("dd","name");


void  setValue(rowid,column,nvalue)
初始化数据

   Parameters:
    rowid
         {string}[required]数据行ID
    column
         {string}[required]数据列名
    nvalue
         {string}[required]需要赋予的值   

   Returns:
         {string}
        
   Example:

    staticGrid.setValue("dd","name","李四");


void  colour()
数据行着色{斑马条}

   Parameters:
       

   Returns:
        
        
   Example:

    staticGrid.colour(); //改变数据行颜色后可用次方法将数据行颜色恢复为斑马条


void  setRowBackGround(rowid, backG)
设置行背景

   Parameters:
    rowid
         {string}[required]数据行ID
    backG
         {string}[required]需要设置为的颜色代码 如:#ffffff   

   Returns:
        
        
   Example:

    staticGrid.setRowBackGround("dd","#eee"); //改变数据行颜色 (个性化数据行颜色)


void  setRowDbclick(fn)
设置行双击动作

   Parameters:
    fn
         {function}[required]双击行时需要执行的函数
  

   Returns:
        
        
   Example:

    var row_dbclick_fun = function(event){


      alert("test");

    }

    staticGrid.setRowDbclick(row_dbclick_fun);
    


void  setEditMode(click)
设置编辑状态

   Parameters:
    click
         {object}[required] dbclick双击格子编辑 true单机编辑 false不能编辑
  

   Returns:
        
        
   Example:


    staticGrid.setEditMode("dbclick"); //双击编辑
    staticGrid.setEditMode(true); //单击编辑
    staticGrid.setEditMode(false); //取消编辑
    


void  getRowObjById(rId)
根据rowid获取行Obj{Element}

   Parameters:
    rId
         {string}[required]行ID
  

   Returns:
        
        
   Example:


    var rElem = staticGrid.getRowObjById("dd");
    alert(rElem.cells[0].innerHTML);//可以自由操作此对象
    


Array  getScrollWed()
获取位置

   Parameters:
    

   Returns:
        {Array} 返回一个数组 如: [10,100] 滚动条的x坐标和y坐标
        
   Example:


    var srcoll = staticGrid.getScrollWed(); //可用于刷新数据后重定位 配合【setScrollWed】
    


void  setScrollWed(ar)
定位(grid滚动条)

   Parameters:
    ar
         {Array}[required] 数组 如: [10,100] 滚动条的x坐标和y坐标

   Returns:
        
        
   Example:


    var srcoll = staticGrid.getScrollWed(); //可用于刷新数据后重定位 配合【setScrollWed】
    staticGrid.initData(json);
    staticGrid.setScrollWed(srcoll);


void  selectRowById(rId)
选中指定行{行ID}

   Parameters:
    rId
         {string}[required] 行ID

   Returns:
        
        
   Example:


    staticGrid.selectRowById("dd");


boolean  checkRowId(rowid)
检查rowid是否已存在

   Parameters:
    rowid
         {string}[required] 行ID

   Returns:
        
        
   Example:


    var isHave = staticGrid.checkRowId("dd");


string  getRowIds()
获取所有行的ID

   Parameters:
    

   Returns:
       {String} //返回grid的所有id 以逗号分隔  
        
   Example:


    var rowids = staticGrid.getRowIds(); //符号','分割 {rowid不允许出现英文逗号 }


string  dataToString()
获取所有行的ID

   Parameters:
    

   Returns:
        {string} //字符型 json数组 可用于与后台数据交互

        如:
        [{rowid:"dd",id:"dd",name:"张三"},{rowid:"ll",id:"dd",name:"李四"}]
        
   Example:


    var jsonStrData = staticGrid.dataToString();