[转载]Easyui1.32源码翻译--datagrid(数据表格) - Jimmy-Lee - 博客园

[转载]Easyui1.32源码翻译–datagrid(数据表格) – Jimmy-Lee – 博客园.

      此前网上有easyui1.25的源码  应该算是比较老的版本  之后又经历了1.26 、 1.3、 1.31、 1.32 、1.33、1.34  1.33开始支持css3 算是又一个转折  但是对于ie来说 1.32 个人用的比较多 赶紧更适用 源码翻译是作者利用几个夜晚时间翻译的  这个表格插件算是源码量最大的 先发布这个 之后会继续把整个easyui的插件翻译完毕:下载该插件翻译源码地址

<span class="com">/**
 * jQuery EasyUI 1.3.2
 * 翻译:qq:1364386878
 *
 */</span><span class="pln">
</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
 
    </span><span class="kwd">var</span><span class="pln"> grid_body_tr_idindex </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="com">//获取对象下标</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> getObjectIndex</span><span class="pun">(</span><span class="pln">a</span><span class="pun">,</span><span class="pln"> o</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> _3 </span><span class="pun">=</span><span class="pln"> a</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> _3</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">a</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> o</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//根据id取消选择行</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> unSelectedRowsById</span><span class="pun">(</span><span class="pln">a</span><span class="pun">,</span><span class="pln"> o</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">typeof</span><span class="pln"> o </span><span class="pun">==</span><span class="pln"> </span><span class="str">"string"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> a</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> rows</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">a</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">o</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    a</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="pln">i</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> getObjectIndex</span><span class="pun">(</span><span class="pln">a</span><span class="pun">,</span><span class="pln"> o</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">index </span><span class="pun">!=</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                a</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="pln">index</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//返回标识字段列</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> idFieldRows</span><span class="pun">(</span><span class="pln">scRows</span><span class="pun">,</span><span class="pln"> idfield</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> rlength </span><span class="pun">=</span><span class="pln"> scRows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> rlength</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">scRows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">idfield</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> row</span><span class="pun">[</span><span class="pln">idfield</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        scRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">row</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//做调整和布局</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _resize</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> parm</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> panel </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">panel</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">parm</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">parm</span><span class="pun">.</span><span class="pln">width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">width </span><span class="pun">=</span><span class="pln"> parm</span><span class="pun">.</span><span class="pln">width</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">parm</span><span class="pun">.</span><span class="pln">height</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">height </span><span class="pun">=</span><span class="pln"> parm</span><span class="pun">.</span><span class="pln">height</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">fit </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> p </span><span class="pun">=</span><span class="pln"> panel</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">(</span><span class="str">"panel"</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">();</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">width </span><span class="pun">=</span><span class="pln"> p</span><span class="pun">.</span><span class="pln">width</span><span class="pun">();</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">height </span><span class="pun">=</span><span class="pln"> p</span><span class="pun">.</span><span class="pln">height</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        panel</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">(</span><span class="str">"resize"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">width</span><span class="pun">,</span><span class="pln"> height</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">height </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//适应大小</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _fitGridSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> panel </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">panel</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> width </span><span class="pun">=</span><span class="pln"> panel</span><span class="pun">.</span><span class="pln">width</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> height </span><span class="pun">=</span><span class="pln"> panel</span><span class="pun">.</span><span class="pln">height</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridView </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridView1 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view1</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridView2 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view2</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridHeader1 </span><span class="pun">=</span><span class="pln"> gridView1</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridHeader2 </span><span class="pun">=</span><span class="pln"> gridView2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridTable1 </span><span class="pun">=</span><span class="pln"> gridHeader1</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"table"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridTable2 </span><span class="pun">=</span><span class="pln"> gridHeader2</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"table"</span><span class="pun">);</span><span class="pln">
        gridView</span><span class="pun">.</span><span class="pln">width</span><span class="pun">(</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> innerHeader </span><span class="pun">=</span><span class="pln"> gridHeader1</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header-inner"</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
        gridView1</span><span class="pun">.</span><span class="pln">width</span><span class="pun">(</span><span class="pln">innerHeader</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"table"</span><span class="pun">).</span><span class="pln">width</span><span class="pun">());</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">showHeader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            innerHeader</span><span class="pun">.</span><span class="pln">hide</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        gridView2</span><span class="pun">.</span><span class="pln">width</span><span class="pun">(</span><span class="pln">width </span><span class="pun">-</span><span class="pln"> gridView1</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">());</span><span class="pln">
        gridView1</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header,div.datagrid-body,div.datagrid-footer"</span><span class="pun">).</span><span class="pln">width</span><span class="pun">(</span><span class="pln">gridView1</span><span class="pun">.</span><span class="pln">width</span><span class="pun">());</span><span class="pln">
        gridView2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header,div.datagrid-body,div.datagrid-footer"</span><span class="pun">).</span><span class="pln">width</span><span class="pun">(</span><span class="pln">gridView2</span><span class="pun">.</span><span class="pln">width</span><span class="pun">());</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> hh</span><span class="pun">;</span><span class="pln">
        gridHeader1</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
        gridHeader2</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
        gridTable1</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
        gridTable2</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
        hh </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Math</span><span class="pun">.</span><span class="pln">max</span><span class="pun">(</span><span class="pln">gridTable1</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(),</span><span class="pln"> gridTable2</span><span class="pun">.</span><span class="pln">height</span><span class="pun">());</span><span class="pln">
        gridTable1</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(</span><span class="pln">hh</span><span class="pun">);</span><span class="pln">
        gridTable2</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(</span><span class="pln">hh</span><span class="pun">);</span><span class="pln">
        gridHeader1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">gridHeader2</span><span class="pun">).</span><span class="pln">_outerHeight</span><span class="pun">(</span><span class="pln">hh</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">height </span><span class="pun">!=</span><span class="pln"> </span><span class="str">"auto"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> fixedHeight </span><span class="pun">=</span><span class="pln"> height </span><span class="pun">-</span><span class="pln"> gridView2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header"</span><span class="pun">).</span><span class="pln">_outerHeight</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> gridView2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-footer"</span><span class="pun">).</span><span class="pln">_outerHeight</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> panel</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-toolbar"</span><span class="pun">).</span><span class="pln">_outerHeight</span><span class="pun">();</span><span class="pln">
            panel</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-pager"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                fixedHeight </span><span class="pun">-=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">_outerHeight</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            dc</span><span class="pun">.</span><span class="pln">body1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"table.datagrid-btable-frozen"</span><span class="pun">).</span><span class="pln">css</span><span class="pun">({</span><span class="pln"> position</span><span class="pun">:</span><span class="pln"> </span><span class="str">"absolute"</span><span class="pun">,</span><span class="pln"> top</span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">.</span><span class="pln">_outerHeight</span><span class="pun">()</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> height </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"table.datagrid-btable-frozen"</span><span class="pun">).</span><span class="pln">_outerHeight</span><span class="pun">();</span><span class="pln">
            gridView1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">gridView2</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-body"</span><span class="pun">).</span><span class="pln">css</span><span class="pun">({</span><span class="pln"> marginTop</span><span class="pun">:</span><span class="pln"> height</span><span class="pun">,</span><span class="pln"> height</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">fixedHeight </span><span class="pun">-</span><span class="pln"> height</span><span class="pun">)</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        gridView</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(</span><span class="pln">gridView2</span><span class="pun">.</span><span class="pln">height</span><span class="pun">());</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
 
    </span><span class="com">//固定指定列高度。如果'index'参数未配置,所有行高度都是固定的</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _fixRowHeight</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> _21</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">body1</span><span class="pun">.</span><span class="kwd">is</span><span class="pun">(</span><span class="str">":empty"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">nowrap </span><span class="pun">||</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">autoRowHeight </span><span class="pun">||</span><span class="pln"> _21</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">index </span><span class="pun">!=</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr1 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr2 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">);</span><span class="pln">
                alignRowHeight</span><span class="pun">(</span><span class="pln">tr1</span><span class="pun">,</span><span class="pln"> tr2</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr1 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allbody"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr2 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allbody"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">);</span><span class="pln">
                alignRowHeight</span><span class="pun">(</span><span class="pln">tr1</span><span class="pun">,</span><span class="pln"> tr2</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">showFooter</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> tr1 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allfooter"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> tr2 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allfooter"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">);</span><span class="pln">
                    alignRowHeight</span><span class="pun">(</span><span class="pln">tr1</span><span class="pun">,</span><span class="pln"> tr2</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _fitGridSize</span><span class="pun">(</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">height </span><span class="pun">==</span><span class="pln"> </span><span class="str">"auto"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> gridBody1 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1</span><span class="pun">.</span><span class="pln">parent</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> gridBody2 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> fullHeight </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> width </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            gridBody2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">().</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> c </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">c</span><span class="pun">.</span><span class="kwd">is</span><span class="pun">(</span><span class="str">":visible"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    fullHeight </span><span class="pun">+=</span><span class="pln"> c</span><span class="pun">.</span><span class="pln">_outerHeight</span><span class="pun">();</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">width </span><span class="pun"><</span><span class="pln"> c</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        width </span><span class="pun">=</span><span class="pln"> c</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">();</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">width </span><span class="pun">></span><span class="pln"> gridBody2</span><span class="pun">.</span><span class="pln">width</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                fullHeight </span><span class="pun">+=</span><span class="pln"> </span><span class="lit">18</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            gridBody1</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(</span><span class="pln">fullHeight</span><span class="pun">);</span><span class="pln">
            gridBody2</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(</span><span class="pln">fullHeight</span><span class="pun">);</span><span class="pln">
            dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">view2</span><span class="pun">.</span><span class="pln">height</span><span class="pun">());</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">.</span><span class="pln">triggerHandler</span><span class="pun">(</span><span class="str">"scroll"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> alignRowHeight</span><span class="pun">(</span><span class="pln">target1</span><span class="pun">,</span><span class="pln"> target2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> target2</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr1 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target1</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr2 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target2</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
                tr1</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
                tr2</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> height </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Math</span><span class="pun">.</span><span class="pln">max</span><span class="pun">(</span><span class="pln">tr1</span><span class="pun">.</span><span class="pln">height</span><span class="pun">(),</span><span class="pln"> tr2</span><span class="pun">.</span><span class="pln">height</span><span class="pun">());</span><span class="pln">
                tr1</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> height</span><span class="pun">);</span><span class="pln">
                tr2</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> height</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
 
    </span><span class="com">//冻结指定行,当数据表格表格向下滚动的时候始终保持被冻结的行显示在顶部</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _freezeRow</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"table.datagrid-btable-frozen"</span><span class="pun">).</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            dc</span><span class="pun">.</span><span class="pln">body1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">prepend</span><span class="pun">(</span><span class="str">"<table class=\"datagrid-btable datagrid-btable-frozen\" cellspacing=\"0\" cellpadding=\"0\"></table>"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        getfreeze_RowCells</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        getfreeze_RowCells</span><span class="pun">(</span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        _fitGridSize</span><span class="pun">(</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> getfreeze_RowCells</span><span class="pun">(</span><span class="pln">freezeColmuns</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
             
            </span><span class="kwd">var</span><span class="pln"> step </span><span class="pun">=</span><span class="pln"> freezeColmuns </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">,</span><span class="pln"> step</span><span class="pun">);</span><span class="pln">
             
            </span><span class="pun">(</span><span class="pln">freezeColmuns </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"table.datagrid-btable-frozen"</span><span class="pun">).</span><span class="pln">append</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
 
    </span><span class="kwd">function</span><span class="pln"> wrapGrid</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rownumber</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> getcolumns</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> frozencols </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> unfrozencols </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"thead"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> opt </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">parser</span><span class="pun">.</span><span class="pln">parseOptions</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[{</span><span class="pln"> frozen</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pln"> </span><span class="pun">}]);</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"tr"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> cols </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
                    $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"th"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> th </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">parser</span><span class="pun">.</span><span class="pln">parseOptions</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[</span><span class="str">"field"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"align"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"halign"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"order"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> sortable</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> checkbox</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> resizable</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pln"> </span><span class="pun">},</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> rowspan</span><span class="pun">:</span><span class="pln"> </span><span class="str">"number"</span><span class="pun">,</span><span class="pln"> colspan</span><span class="pun">:</span><span class="pln"> </span><span class="str">"number"</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">:</span><span class="pln"> </span><span class="str">"number"</span><span class="pln"> </span><span class="pun">}]),</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> title</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">html</span><span class="pun">()</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">),</span><span class="pln"> hidden</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"hidden"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">),</span><span class="pln"> formatter</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"formatter"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="kwd">eval</span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"formatter"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">),</span><span class="pln"> styler</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"styler"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="kwd">eval</span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"styler"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">),</span><span class="pln"> sorter</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"sorter"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="kwd">eval</span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"sorter"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">)</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"editor"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="kwd">var</span><span class="pln"> s </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">trim</span><span class="pun">(</span><span class="pln">th</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"editor"</span><span class="pun">));</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">s</span><span class="pun">.</span><span class="pln">substr</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"{"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                col</span><span class="pun">.</span><span class="pln">editor </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">eval</span><span class="pun">(</span><span class="str">"("</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> s </span><span class="pun">+</span><span class="pln"> </span><span class="str">")"</span><span class="pun">);</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                col</span><span class="pun">.</span><span class="pln">editor </span><span class="pun">=</span><span class="pln"> s</span><span class="pun">;</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        cols</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">col</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">});</span><span class="pln">
 
                    opt</span><span class="pun">.</span><span class="pln">frozen </span><span class="pun">?</span><span class="pln"> frozencols</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">cols</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> unfrozencols</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">cols</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">});</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">[</span><span class="pln">frozencols</span><span class="pun">,</span><span class="pln"> unfrozencols</span><span class="pun">];</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
 
        </span><span class="kwd">var</span><span class="pln"> gridwrap </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-wrap\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-view\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-view1\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-header\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-header-inner\"></div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-body\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-body-inner\"></div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-footer\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-footer-inner\"></div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-view2\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-header\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-header-inner\"></div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-body\"></div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-footer\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"<div class=\"datagrid-footer-inner\"></div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div>"</span><span class="pun">).</span><span class="pln">insertAfter</span><span class="pun">(</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
        gridwrap</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">({</span><span class="pln"> doSize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
        gridwrap</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">(</span><span class="str">"panel"</span><span class="pun">).</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"_resize"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">fit </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _resize</span><span class="pun">(</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
                setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _fixColumnSize</span><span class="pun">(</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">hide</span><span class="pun">().</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">gridwrap</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-view"</span><span class="pun">));</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> cc </span><span class="pun">=</span><span class="pln"> getcolumns</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridView </span><span class="pun">=</span><span class="pln"> gridwrap</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-view"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridView1 </span><span class="pun">=</span><span class="pln"> gridView</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-view1"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridView2 </span><span class="pun">=</span><span class="pln"> gridView</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-view2"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            panel</span><span class="pun">:</span><span class="pln"> gridwrap</span><span class="pun">,</span><span class="pln">
            frozenColumns</span><span class="pun">:</span><span class="pln"> cc</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln">
            columns</span><span class="pun">:</span><span class="pln"> cc</span><span class="pun">[</span><span class="lit">1</span><span class="pun">],</span><span class="pln">
            dc</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                view</span><span class="pun">:</span><span class="pln"> gridView</span><span class="pun">,</span><span class="pln">
                view1</span><span class="pun">:</span><span class="pln"> gridView1</span><span class="pun">,</span><span class="pln">
                view2</span><span class="pun">:</span><span class="pln"> gridView2</span><span class="pun">,</span><span class="pln">
                header1</span><span class="pun">:</span><span class="pln"> gridView1</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header"</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header-inner"</span><span class="pun">),</span><span class="pln">
                header2</span><span class="pun">:</span><span class="pln"> gridView2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header"</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header-inner"</span><span class="pun">),</span><span class="pln">
                body1</span><span class="pun">:</span><span class="pln"> gridView1</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-body"</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-body-inner"</span><span class="pun">),</span><span class="pln">
                body2</span><span class="pun">:</span><span class="pln"> gridView2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-body"</span><span class="pun">),</span><span class="pln">
                footer1</span><span class="pun">:</span><span class="pln"> gridView1</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-footer"</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-footer-inner"</span><span class="pun">),</span><span class="pln">
                footer2</span><span class="pun">:</span><span class="pln"> gridView2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-footer"</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-footer-inner"</span><span class="pun">)</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//获取表格数据</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> getGridData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> total</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[]</span><span class="pln"> </span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> fields </span><span class="pun">=</span><span class="pln"> _getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">).</span><span class="pln">concat</span><span class="pun">(</span><span class="pln">_getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">));</span><span class="pln">
 
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"tbody tr"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            data</span><span class="pun">.</span><span class="pln">total</span><span class="pun">++;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{};</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> fields</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                col</span><span class="pun">[</span><span class="pln">fields</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"td:eq("</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> i </span><span class="pun">+</span><span class="pln"> </span><span class="str">")"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">).</span><span class="pln">html</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">col</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> data</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//初始化</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> init</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
       
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
      
        </span><span class="kwd">var</span><span class="pln"> panel </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">;</span><span class="pln">
        panel</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">(</span><span class="pln">$</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> opts</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            id</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="pln">
            doSize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="pln">
            onResize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">width</span><span class="pun">,</span><span class="pln"> height</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _fitGridSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                        _fitColumns</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                        opts</span><span class="pun">.</span><span class="pln">onResize</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">,</span><span class="pln"> height</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            onExpand</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _fixRowHeight</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">onExpand</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}));</span><span class="pln">
        datagrid</span><span class="pun">.</span><span class="pln">rowIdPrefix </span><span class="pun">=</span><span class="pln"> </span><span class="str">"datagrid-row-r"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(++</span><span class="pln">grid_body_tr_idindex</span><span class="pun">);</span><span class="pln">
       
        buildGridHeader</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header1</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">frozenColumns</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        buildGridHeader</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">columns</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        cellWidth</span><span class="pun">();</span><span class="com">//设置单元格宽度</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">header1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">).</span><span class="pln">css</span><span class="pun">(</span><span class="str">"display"</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">showHeader </span><span class="pun">?</span><span class="pln"> </span><span class="str">"block"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"none"</span><span class="pun">);</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">footer1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">footer2</span><span class="pun">).</span><span class="pln">css</span><span class="pun">(</span><span class="str">"display"</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">showFooter </span><span class="pun">?</span><span class="pln"> </span><span class="str">"block"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"none"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">toolbar</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">typeof</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">toolbar </span><span class="pun">==</span><span class="pln"> </span><span class="str">"string"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">toolbar</span><span class="pun">).</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-toolbar"</span><span class="pun">).</span><span class="pln">prependTo</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">toolbar</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="str">"div.datagrid-toolbar"</span><span class="pun">,</span><span class="pln"> panel</span><span class="pun">).</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tb </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-toolbar\"><table cellspacing=\"0\" cellpadding=\"0\"><tr></tr></table></div>"</span><span class="pun">).</span><span class="pln">prependTo</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> tb</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"tr"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">toolbar</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> btn </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">toolbar</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">btn </span><span class="pun">==</span><span class="pln"> </span><span class="str">"-"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        $</span><span class="pun">(</span><span class="str">"<td><div class=\"datagrid-btn-separator\"></div></td>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<td></td>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> tool </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<a href=\"javascript:void(0)\"></a>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">td</span><span class="pun">);</span><span class="pln">
                        tool</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">onclick </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">eval</span><span class="pun">(</span><span class="pln">btn</span><span class="pun">.</span><span class="pln">handler </span><span class="pun">||</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="pun">});</span><span class="pln">
                        tool</span><span class="pun">.</span><span class="pln">linkbutton</span><span class="pun">(</span><span class="pln">$</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> btn</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> plain</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pln"> </span><span class="pun">}));</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $</span><span class="pun">(</span><span class="str">"div.datagrid-toolbar"</span><span class="pun">,</span><span class="pln"> panel</span><span class="pun">).</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        $</span><span class="pun">(</span><span class="str">"div.datagrid-pager"</span><span class="pun">,</span><span class="pln"> panel</span><span class="pun">).</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> pager </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-pager\"></div>"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pagePosition </span><span class="pun">==</span><span class="pln"> </span><span class="str">"bottom"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                pager</span><span class="pun">.</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pagePosition </span><span class="pun">==</span><span class="pln"> </span><span class="str">"top"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    pager</span><span class="pun">.</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-pager-top"</span><span class="pun">).</span><span class="pln">prependTo</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> pagertop </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-pager datagrid-pager-top\"></div>"</span><span class="pun">).</span><span class="pln">prependTo</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span><span class="pln">
                    pager</span><span class="pun">.</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">);</span><span class="pln">
                    pager </span><span class="pun">=</span><span class="pln"> pager</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">pagertop</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="com">//分页</span><span class="pln">
            pager</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">({</span><span class="pln">
                total</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln">
                pageNumber</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageNumber</span><span class="pun">,</span><span class="pln">
                pageSize</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageSize</span><span class="pun">,</span><span class="pln">
                pageList</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageList</span><span class="pun">,</span><span class="pln">
                onSelectPage</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">pageNumber</span><span class="pun">,</span><span class="pln"> pageSize</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">pageNumber </span><span class="pun">=</span><span class="pln"> pageNumber</span><span class="pun">;</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">pageSize </span><span class="pun">=</span><span class="pln"> pageSize</span><span class="pun">;</span><span class="pln">
                    pager</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"refresh"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> pageNumber</span><span class="pun">:</span><span class="pln"> pageNumber</span><span class="pun">,</span><span class="pln"> pageSize</span><span class="pun">:</span><span class="pln"> pageSize </span><span class="pun">});</span><span class="pln">
                    _load</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">pageSize </span><span class="pun">=</span><span class="pln"> pager</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"options"</span><span class="pun">).</span><span class="pln">pageSize</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> buildGridHeader</span><span class="pun">(</span><span class="pln">headerDiv</span><span class="pun">,</span><span class="pln"> clomuns</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">clomuns</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">headerDiv</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">headerDiv</span><span class="pun">).</span><span class="pln">empty</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> t </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<table class=\"datagrid-htable\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tbody></tbody></table>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">headerDiv</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> clomuns</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<tr class=\"datagrid-header-row\"></tr>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="str">"tbody"</span><span class="pun">,</span><span class="pln"> t</span><span class="pun">));</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> column </span><span class="pun">=</span><span class="pln"> clomuns</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> j </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> column</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> column</span><span class="pun">[</span><span class="pln">j</span><span class="pun">];</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> tdHTML </span><span class="pun">=</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">rowspan</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        tdHTML </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"rowspan=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">rowspan </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" "</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">colspan</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        tdHTML </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"colspan=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">colspan </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" "</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<td "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> tdHTML </span><span class="pun">+</span><span class="pln"> </span><span class="str">"></td>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">checkbox</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">,</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">field</span><span class="pun">);</span><span class="pln">
                        $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-header-check\"></div>"</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="str">"<input type=\"checkbox\"/>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">td</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">,</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">field</span><span class="pun">);</span><span class="pln">
                            td</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-cell\"><span></span><span class=\"datagrid-sort-icon\"></span></div>"</span><span class="pun">);</span><span class="pln">
                            $</span><span class="pun">(</span><span class="str">"span"</span><span class="pun">,</span><span class="pln"> td</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">title</span><span class="pun">);</span><span class="pln">
                            $</span><span class="pun">(</span><span class="str">"span.datagrid-sort-icon"</span><span class="pun">,</span><span class="pln"> td</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="str">"&nbsp;"</span><span class="pun">);</span><span class="pln">
                            </span><span class="kwd">var</span><span class="pln"> cell </span><span class="pun">=</span><span class="pln"> td</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell"</span><span class="pun">);</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">resizable </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                cell</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"resizable"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"false"</span><span class="pun">);</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                cell</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
                                col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">=</span><span class="pln"> parseInt</span><span class="pun">(</span><span class="pln">cell</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">style</span><span class="pun">.</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                col</span><span class="pun">.</span><span class="kwd">auto</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                            cell</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"text-align"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">halign </span><span class="pun">||</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">align </span><span class="pun">||</span><span class="pln"> </span><span class="str">""</span><span class="pun">));</span><span class="pln">
                            col</span><span class="pun">.</span><span class="pln">cellClass </span><span class="pun">=</span><span class="pln"> </span><span class="str">"datagrid-cell-c"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> grid_body_tr_idindex </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">field</span><span class="pun">.</span><span class="pln">replace</span><span class="pun">(</span><span class="str">/\./</span><span class="pln">g</span><span class="pun">,</span><span class="pln"> </span><span class="str">"-"</span><span class="pun">);</span><span class="pln">
                            col</span><span class="pun">.</span><span class="pln">cellSelector </span><span class="pun">=</span><span class="pln"> </span><span class="str">"div."</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">cellClass</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-cell-group\"></div>"</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">title</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">td</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">hidden</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        td</span><span class="pun">.</span><span class="pln">hide</span><span class="pun">();</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">frozen </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rownumbers</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<td rowspan=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">frozenColumns</span><span class="pun">.</span><span class="pln">length </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"><div class=\"datagrid-header-rownumber\"></div></td>"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="str">"tr"</span><span class="pun">,</span><span class="pln"> t</span><span class="pun">).</span><span class="pln">length </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    td</span><span class="pun">.</span><span class="pln">wrap</span><span class="pun">(</span><span class="str">"<tr class=\"datagrid-header-row\"></tr>"</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="str">"tbody"</span><span class="pun">,</span><span class="pln"> t</span><span class="pun">));</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    td</span><span class="pun">.</span><span class="pln">prependTo</span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="str">"tr:first"</span><span class="pun">,</span><span class="pln"> t</span><span class="pun">));</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
        </span><span class="com">//设置单元格宽度</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> cellWidth</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> ss </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="str">"<style type=\"text/css\">"</span><span class="pun">];</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> clomuns </span><span class="pun">=</span><span class="pln"> _getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">).</span><span class="pln">concat</span><span class="pun">(</span><span class="pln">_getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">));</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> clomuns</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> clomuns</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">!</span><span class="pln">col</span><span class="pun">.</span><span class="pln">checkbox</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    ss</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">cellSelector </span><span class="pun">+</span><span class="pln"> </span><span class="str">" {width:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">+</span><span class="pln"> </span><span class="str">"px;}"</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            ss</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"</style>"</span><span class="pun">);</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">ss</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="str">"\n"</span><span class="pun">)).</span><span class="pln">prependTo</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//绑定事件</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> bingEvent</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> panel </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> headinner </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">header1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">);</span><span class="pln">
        </span><span class="com">//点击checkbox事件</span><span class="pln">
        headinner</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"input[type=checkbox]"</span><span class="pun">).</span><span class="pln">unbind</span><span class="pun">(</span><span class="str">".datagrid"</span><span class="pun">).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"click.datagrid"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">singleSelect </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">selectOnCheck</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="kwd">is</span><span class="pun">(</span><span class="str">":checked"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _checkAll</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _clearChecked</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            e</span><span class="pun">.</span><span class="pln">stopPropagation</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> gridcell </span><span class="pun">=</span><span class="pln"> headinner</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell"</span><span class="pun">);</span><span class="pln">
       </span><span class="com">//鼠标进入标题单元格事件</span><span class="pln">
        gridcell</span><span class="pun">.</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"td"</span><span class="pun">).</span><span class="pln">unbind</span><span class="pun">(</span><span class="str">".datagrid"</span><span class="pun">).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"mouseenter.datagrid"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">        
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">resizing</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-header-over"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"mouseleave.datagrid"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">//鼠标离开标题事件</span><span class="pln">
            $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"datagrid-header-over"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"contextmenu.datagrid"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="com">//鼠标右键标题事件</span><span class="pln">
         
            </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">onHeaderContextMenu</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> e</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        </span><span class="com">//点击titl事件</span><span class="pln">
        gridcell</span><span class="pun">.</span><span class="pln">unbind</span><span class="pun">(</span><span class="str">".datagrid"</span><span class="pun">).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"click.datagrid"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
           
            </span><span class="kwd">var</span><span class="pln"> p1 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">offset</span><span class="pun">().</span><span class="pln">left </span><span class="pun">+</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> p2 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">offset</span><span class="pun">().</span><span class="pln">left </span><span class="pun">+</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun"><</span><span class="pln"> p2 </span><span class="pun">&&</span><span class="pln"> e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun">></span><span class="pln"> p1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="com">////返回指定列属性</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">col</span><span class="pun">.</span><span class="pln">sortable </span><span class="pun">||</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">resizing</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">sortName </span><span class="pun">=</span><span class="pln"> field</span><span class="pun">;</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">sortOrder </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">order </span><span class="pun">||</span><span class="pln"> </span><span class="str">"asc"</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> cls </span><span class="pun">=</span><span class="pln"> </span><span class="str">"datagrid-sort-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">sortOrder</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-sort-asc"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    cls </span><span class="pun">=</span><span class="pln"> </span><span class="str">"datagrid-sort-desc"</span><span class="pun">;</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">sortOrder </span><span class="pun">=</span><span class="pln"> </span><span class="str">"desc"</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-sort-desc"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        cls </span><span class="pun">=</span><span class="pln"> </span><span class="str">"datagrid-sort-asc"</span><span class="pun">;</span><span class="pln">
                        opts</span><span class="pun">.</span><span class="pln">sortOrder </span><span class="pun">=</span><span class="pln"> </span><span class="str">"asc"</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                gridcell</span><span class="pun">.</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"datagrid-sort-asc datagrid-sort-desc"</span><span class="pun">);</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">addClass</span><span class="pun">(</span><span class="pln">cls</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">remoteSort</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    _load</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
                    _removeData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">onSortColumn</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">sortName</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">sortOrder</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"dblclick.datagrid"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="com">//双击事件</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> p1 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">offset</span><span class="pun">().</span><span class="pln">left </span><span class="pun">+</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> p2 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">offset</span><span class="pun">().</span><span class="pln">left </span><span class="pun">+</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">5</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> resizeHandle </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">resizeHandle </span><span class="pun">==</span><span class="pln"> </span><span class="str">"right"</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun">></span><span class="pln"> p2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">resizeHandle </span><span class="pun">==</span><span class="pln"> </span><span class="str">"left"</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun"><</span><span class="pln"> p1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun"><</span><span class="pln"> p1 </span><span class="pun">||</span><span class="pln"> e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun">></span><span class="pln"> p2</span><span class="pun">));</span><span class="pln">
             
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">resizeHandle</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">resizable </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"autoSizeColumn"</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
                col</span><span class="pun">.</span><span class="kwd">auto</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> resizeHandle </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">resizeHandle </span><span class="pun">==</span><span class="pln"> </span><span class="str">"right"</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"e"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">resizeHandle </span><span class="pun">==</span><span class="pln"> </span><span class="str">"left"</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"w"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"e,w"</span><span class="pun">);</span><span class="pln">
        gridcell</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">resizable</span><span class="pun">({</span><span class="pln">
                handles</span><span class="pun">:</span><span class="pln"> resizeHandle</span><span class="pun">,</span><span class="pln">
                disabled</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"resizable"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"resizable"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"false"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">),</span><span class="pln">
                minWidth</span><span class="pun">:</span><span class="pln"> </span><span class="lit">25</span><span class="pun">,</span><span class="pln">
                onStartResize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    datagrid</span><span class="pun">.</span><span class="pln">resizing </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
                    headinner</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"cursor"</span><span class="pun">,</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"body"</span><span class="pun">).</span><span class="pln">css</span><span class="pun">(</span><span class="str">"cursor"</span><span class="pun">));</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">proxy</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        datagrid</span><span class="pun">.</span><span class="pln">proxy </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-resize-proxy\"></div>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    datagrid</span><span class="pun">.</span><span class="pln">proxy</span><span class="pun">.</span><span class="pln">css</span><span class="pun">({</span><span class="pln"> left</span><span class="pun">:</span><span class="pln"> e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun">-</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">).</span><span class="pln">offset</span><span class="pun">().</span><span class="pln">left </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> display</span><span class="pun">:</span><span class="pln"> </span><span class="str">"none"</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
                    setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">proxy</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            datagrid</span><span class="pun">.</span><span class="pln">proxy</span><span class="pun">.</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">},</span><span class="pln"> </span><span class="lit">500</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">},</span><span class="pln">
                onResize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    datagrid</span><span class="pun">.</span><span class="pln">proxy</span><span class="pun">.</span><span class="pln">css</span><span class="pun">({</span><span class="pln"> left</span><span class="pun">:</span><span class="pln"> e</span><span class="pun">.</span><span class="pln">pageX </span><span class="pun">-</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">panel</span><span class="pun">).</span><span class="pln">offset</span><span class="pun">().</span><span class="pln">left </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> display</span><span class="pun">:</span><span class="pln"> </span><span class="str">"block"</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">},</span><span class="pln">
                onStopResize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    headinner</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"cursor"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
                    col</span><span class="pun">.</span><span class="pln">width </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">();</span><span class="pln">
                    col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">=</span><span class="pln"> parseInt</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">style</span><span class="pun">.</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
                    col</span><span class="pun">.</span><span class="kwd">auto</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">;</span><span class="pln">
                    _fixColumnSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
                    datagrid</span><span class="pun">.</span><span class="pln">proxy</span><span class="pun">.</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
                    datagrid</span><span class="pun">.</span><span class="pln">proxy </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">parents</span><span class="pun">(</span><span class="str">"div:first.datagrid-header"</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-view1"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _fitGridSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    _fitColumns</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">onResizeColumn</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">,</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
                    setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        datagrid</span><span class="pun">.</span><span class="pln">resizing </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        </span><span class="com">//grid body 鼠标进入事件</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">body1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">unbind</span><span class="pun">().</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"mouseover"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
             
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">resizing</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">target</span><span class="pun">).</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"tr.datagrid-row"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> get_trIndex</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">          
            opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">).</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-row-over"</span><span class="pun">);</span><span class="pln">
            e</span><span class="pun">.</span><span class="pln">stopPropagation</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"mouseout"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">//grid body 鼠标移出事件</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">target</span><span class="pun">).</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"tr.datagrid-row"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> get_trIndex</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">).</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"datagrid-row-over"</span><span class="pun">);</span><span class="pln">
            e</span><span class="pun">.</span><span class="pln">stopPropagation</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"click"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> </span><span class="com">//grid body 鼠标点击事件           </span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tt </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> tt</span><span class="pun">.</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"tr.datagrid-row"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> get_trIndex</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tt</span><span class="pun">.</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-cell-check"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">singleSelect </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">selectOnCheck</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">checkOnSelect</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _clearChecked</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    _checkRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tt</span><span class="pun">.</span><span class="kwd">is</span><span class="pun">(</span><span class="str">":checked"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _checkRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _uncheckRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> tt</span><span class="pun">.</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"td[field]"</span><span class="pun">,</span><span class="pln"> tr</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">td</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> _6f </span><span class="pun">=</span><span class="pln"> td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">onClickCell</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> _6f</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">[</span><span class="pln">_6f</span><span class="pun">]);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">singleSelect </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    _selectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-row-selected"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _unselectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _selectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">onClickRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            e</span><span class="pun">.</span><span class="pln">stopPropagation</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"dblclick"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="com">//grid body 鼠标双击事件 </span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tt </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> tt</span><span class="pun">.</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"tr.datagrid-row"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> get_trIndex</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> tt</span><span class="pun">.</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"td[field]"</span><span class="pun">,</span><span class="pln"> tr</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">td</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">onDblClickCell</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">[</span><span class="pln">field</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">onDblClickRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
            e</span><span class="pun">.</span><span class="pln">stopPropagation</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"contextmenu"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="com">//grid body 鼠标右键事件 </span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">e</span><span class="pun">.</span><span class="pln">target</span><span class="pun">).</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"tr.datagrid-row"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> get_trIndex</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">onRowContextMenu</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> e</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
            e</span><span class="pun">.</span><span class="pln">stopPropagation</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">.</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"scroll"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="com">//grid body 滚动条事件 </span><span class="pln">
          
            dc</span><span class="pun">.</span><span class="pln">view1</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-body"</span><span class="pun">).</span><span class="pln">scrollTop</span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">scrollTop</span><span class="pun">());</span><span class="pln">
            dc</span><span class="pun">.</span><span class="pln">view2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header,div.datagrid-footer"</span><span class="pun">).</span><span class="pln">_scrollLeft</span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">_scrollLeft</span><span class="pun">());</span><span class="pln">
            dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"table.datagrid-btable-frozen"</span><span class="pun">).</span><span class="pln">css</span><span class="pun">(</span><span class="str">"left"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">_scrollLeft</span><span class="pun">());</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        </span><span class="com">//获取td index</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> get_trIndex</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"datagrid-row-index"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> parseInt</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"datagrid-row-index"</span><span class="pun">));</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"node-id"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//使列自动展开/收缩到合适的数据表格宽度</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _fitColumns</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">fitColumns</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> header </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> visableWidth </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> visableColumn</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> fields </span><span class="pun">=</span><span class="pln"> _getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> fields</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> fields</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_7a</span><span class="pun">(</span><span class="pln">col</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                visableWidth </span><span class="pun">+=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">width</span><span class="pun">;</span><span class="pln">
                visableColumn </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> innerHeader </span><span class="pun">=</span><span class="pln"> header</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header-inner"</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> fullWidth </span><span class="pun">=</span><span class="pln"> header</span><span class="pun">.</span><span class="pln">width</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> header</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"table"</span><span class="pun">).</span><span class="pln">width</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">scrollbarSize</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> rate </span><span class="pun">=</span><span class="pln"> fullWidth </span><span class="pun">/</span><span class="pln"> visableWidth</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">showHeader</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            innerHeader</span><span class="pun">.</span><span class="pln">hide</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> fields</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> fields</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_7a</span><span class="pun">(</span><span class="pln">col</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> width </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Math</span><span class="pun">.</span><span class="pln">floor</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">width </span><span class="pun">*</span><span class="pln"> rate</span><span class="pun">);</span><span class="pln">
                fitColumnWidth</span><span class="pun">(</span><span class="pln">col</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">);</span><span class="pln">
                fullWidth </span><span class="pun">-=</span><span class="pln"> width</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">fullWidth </span><span class="pun">&&</span><span class="pln"> visableColumn</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            fitColumnWidth</span><span class="pun">(</span><span class="pln">visableColumn</span><span class="pun">,</span><span class="pln"> fullWidth</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _fixColumnSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> fitColumnWidth</span><span class="pun">(</span><span class="pln">col</span><span class="pun">,</span><span class="pln"> _80</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            col</span><span class="pun">.</span><span class="pln">width </span><span class="pun">+=</span><span class="pln"> _80</span><span class="pun">;</span><span class="pln">
            col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">+=</span><span class="pln"> _80</span><span class="pun">;</span><span class="pln">
            header</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td[field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">field </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"] div.datagrid-cell"</span><span class="pun">).</span><span class="pln">width</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">boxWidth</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> _7a</span><span class="pun">(</span><span class="pln">col</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">col</span><span class="pun">.</span><span class="pln">hidden </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">!</span><span class="pln">col</span><span class="pun">.</span><span class="pln">checkbox </span><span class="pun">&&</span><span class="pln"> </span><span class="pun">!</span><span class="pln">col</span><span class="pun">.</span><span class="kwd">auto</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//自动调整列宽度以适应内容</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _autoSizeColumn</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> filed</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">filed</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _resize</span><span class="pun">(</span><span class="pln">filed</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">fitColumns</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _fitGridSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                _fitColumns</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _85 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _86 </span><span class="pun">=</span><span class="pln"> _getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">).</span><span class="pln">concat</span><span class="pun">(</span><span class="pln">_getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">));</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> _86</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> filed </span><span class="pun">=</span><span class="pln"> _86</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> filed</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="kwd">auto</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    _resize</span><span class="pun">(</span><span class="pln">filed</span><span class="pun">);</span><span class="pln">
                    _85 </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_85 </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">fitColumns</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _fitGridSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                _fitColumns</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> _resize</span><span class="pun">(</span><span class="pln">_87</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _88 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-header td[field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _87 </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"] div.datagrid-cell"</span><span class="pun">);</span><span class="pln">
            _88</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"width"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnOption"</span><span class="pun">,</span><span class="pln"> _87</span><span class="pun">);</span><span class="pln">
            col</span><span class="pun">.</span><span class="pln">width </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">;</span><span class="pln">
            col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">;</span><span class="pln">
            col</span><span class="pun">.</span><span class="kwd">auto</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"fixColumnSize"</span><span class="pun">,</span><span class="pln"> _87</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _89 </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Math</span><span class="pun">.</span><span class="pln">max</span><span class="pun">(</span><span class="pln">_88</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">(),</span><span class="pln"> _8a</span><span class="pun">(</span><span class="str">"allbody"</span><span class="pun">),</span><span class="pln"> _8a</span><span class="pun">(</span><span class="str">"allfooter"</span><span class="pun">));</span><span class="pln">
            _88</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">_89</span><span class="pun">);</span><span class="pln">
            col</span><span class="pun">.</span><span class="pln">width </span><span class="pun">=</span><span class="pln"> _89</span><span class="pun">;</span><span class="pln">
            col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">=</span><span class="pln"> parseInt</span><span class="pun">(</span><span class="pln">_88</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">style</span><span class="pun">.</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"fixColumnSize"</span><span class="pun">,</span><span class="pln"> _87</span><span class="pun">);</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">onResizeColumn</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> _87</span><span class="pun">,</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">function</span><span class="pln"> _8a</span><span class="pun">(</span><span class="pln">_8b</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _8c </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> _8b</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td[field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _87 </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"] div.datagrid-cell"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> w </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">();</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_8c </span><span class="pun"><</span><span class="pln"> w</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _8c </span><span class="pun">=</span><span class="pln"> w</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">});</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> _8c</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">};</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//固定列大小。如果'field'参数未配置,所有列大小将都是固定的</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _fixColumnSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> vtable </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"table.datagrid-btable,table.datagrid-ftable"</span><span class="pun">);</span><span class="pln">
        vtable</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"table-layout"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"fixed"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            fix</span><span class="pun">(</span><span class="pln">field</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> ff </span><span class="pun">=</span><span class="pln"> _getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">).</span><span class="pln">concat</span><span class="pun">(</span><span class="pln">_getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">));</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> ff</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                fix</span><span class="pun">(</span><span class="pln">ff</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        vtable</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"table-layout"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"auto"</span><span class="pun">);</span><span class="pln">
        _91</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
        setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _fixRowHeight</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
            fixEditorSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> fix</span><span class="pun">(</span><span class="pln">field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">checkbox</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _93 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"style"</span><span class="pun">)[</span><span class="lit">0</span><span class="pun">];</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _94 </span><span class="pun">=</span><span class="pln"> _93</span><span class="pun">.</span><span class="pln">styleSheet </span><span class="pun">?</span><span class="pln"> _93</span><span class="pun">.</span><span class="pln">styleSheet </span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_93</span><span class="pun">.</span><span class="pln">sheet </span><span class="pun">||</span><span class="pln"> document</span><span class="pun">.</span><span class="pln">styleSheets</span><span class="pun">[</span><span class="pln">document</span><span class="pun">.</span><span class="pln">styleSheets</span><span class="pun">.</span><span class="pln">length </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">]);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _95 </span><span class="pun">=</span><span class="pln"> _94</span><span class="pun">.</span><span class="pln">cssRules </span><span class="pun">||</span><span class="pln"> _94</span><span class="pun">.</span><span class="pln">rules</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> len </span><span class="pun">=</span><span class="pln"> _95</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> len</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _96 </span><span class="pun">=</span><span class="pln"> _95</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_96</span><span class="pun">.</span><span class="pln">selectorText</span><span class="pun">.</span><span class="pln">toLowerCase</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">cellSelector</span><span class="pun">.</span><span class="pln">toLowerCase</span><span class="pun">())</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    _96</span><span class="pun">.</span><span class="pln">style</span><span class="pun">[</span><span class="str">"width"</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">?</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">boxWidth </span><span class="pun">+</span><span class="pln"> </span><span class="str">"px"</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"auto"</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _91</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">body1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td.datagrid-td-merged"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> colspan </span><span class="pun">=</span><span class="pln"> td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"colspan"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> width </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">)).</span><span class="pln">width</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> colspan</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                td </span><span class="pun">=</span><span class="pln"> td</span><span class="pun">.</span><span class="kwd">next</span><span class="pun">();</span><span class="pln">
                width </span><span class="pun">+=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">)).</span><span class="pln">width </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-cell"</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> fixEditorSize</span><span class="pun">(</span><span class="pln">_9b</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_9b</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-editable"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _9c </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _9d </span><span class="pun">=</span><span class="pln"> _9c</span><span class="pun">.</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">_9b</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnOption"</span><span class="pun">,</span><span class="pln"> _9d</span><span class="pun">);</span><span class="pln">
            _9c</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> ed </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid.editor"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">ed</span><span class="pun">.</span><span class="pln">actions</span><span class="pun">.</span><span class="pln">resize</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                ed</span><span class="pun">.</span><span class="pln">actions</span><span class="pun">.</span><span class="pln">resize</span><span class="pun">(</span><span class="pln">ed</span><span class="pun">.</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> _9c</span><span class="pun">.</span><span class="pln">width</span><span class="pun">());</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//返回指定列属性</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> filed</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> _a0</span><span class="pun">(</span><span class="pln">_a1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_a1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> _a1</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> cc </span><span class="pun">=</span><span class="pln"> _a1</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                    </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> j </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> cc</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> c </span><span class="pun">=</span><span class="pln"> cc</span><span class="pun">[</span><span class="pln">j</span><span class="pun">];</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">c</span><span class="pun">.</span><span class="pln">field </span><span class="pun">==</span><span class="pln"> filed</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="kwd">return</span><span class="pln"> c</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _a0</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">columns</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">col</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            col </span><span class="pun">=</span><span class="pln"> _a0</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">frozenColumns</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> col</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//返回列字段。如果设置了frozen属性为true,将返回固定列的字段名</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> columns </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">frozen </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">frozenColumns </span><span class="pun">||</span><span class="pln"> </span><span class="pun">[[]])</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">columns</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">columns</span><span class="pun">.</span><span class="pln">length </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> fields </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> getFixedColspan</span><span class="pun">(</span><span class="pln">index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> c </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">while</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">true</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">fields</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">c </span><span class="pun">==</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">return</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    c</span><span class="pun">++;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                i</span><span class="pun">++;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> findColumnFields</span><span class="pun">(</span><span class="pln">r</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> ff </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> c </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> columns</span><span class="pun">[</span><span class="pln">r</span><span class="pun">].</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> columns</span><span class="pun">[</span><span class="pln">r</span><span class="pun">][</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    ff</span><span class="pun">.</span><span class="pln">push</span><span class="pun">([</span><span class="pln">c</span><span class="pun">,</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">field</span><span class="pun">]);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                c </span><span class="pun">+=</span><span class="pln"> parseInt</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">colspan </span><span class="pun">||</span><span class="pln"> </span><span class="str">"1"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> ff</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                ff</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> getFixedColspan</span><span class="pun">(</span><span class="pln">ff</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> ff</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> f </span><span class="pun">=</span><span class="pln"> ff</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                fields</span><span class="pun">[</span><span class="pln">f</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> f</span><span class="pun">[</span><span class="lit">1</span><span class="pun">];</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> columns</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            findColumnFields</span><span class="pun">(</span><span class="pln">i</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> fields</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//加载本地数据,旧的行将被移除</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _removeData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _ae </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _af </span><span class="pun">=</span><span class="pln"> _ae</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> _ae</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        data </span><span class="pun">=</span><span class="pln"> _af</span><span class="pun">.</span><span class="pln">loadFilter</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
        data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">=</span><span class="pln"> parseInt</span><span class="pun">(</span><span class="pln">data</span><span class="pun">.</span><span class="pln">total</span><span class="pun">);</span><span class="pln">
        _ae</span><span class="pun">.</span><span class="pln">data </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">data</span><span class="pun">.</span><span class="pln">footer</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _ae</span><span class="pun">.</span><span class="pln">footer </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">footer</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">remoteSort</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opt </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> _af</span><span class="pun">.</span><span class="pln">sortName</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opt</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _b0 </span><span class="pun">=</span><span class="pln"> opt</span><span class="pun">.</span><span class="pln">sorter </span><span class="pun">||</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">a</span><span class="pun">,</span><span class="pln"> b</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">a </span><span class="pun">></span><span class="pln"> b </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">};</span><span class="pln">
                data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">sort</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">r1</span><span class="pun">,</span><span class="pln"> r2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> _b0</span><span class="pun">(</span><span class="pln">r1</span><span class="pun">[</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">sortName</span><span class="pun">],</span><span class="pln"> r2</span><span class="pun">[</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">sortName</span><span class="pun">])</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">sortOrder </span><span class="pun">==</span><span class="pln"> </span><span class="str">"asc"</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">});</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">onBeforeRender</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">onBeforeRender</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">render</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        _af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">render</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">showFooter</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">renderFooter</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer2</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            _af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">renderFooter</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer1</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">onAfterRender</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">onAfterRender</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"style:gt(0)"</span><span class="pun">).</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
        _af</span><span class="pun">.</span><span class="pln">onLoadSuccess</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _b1 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPager"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_b1</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_b1</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"options"</span><span class="pun">).</span><span class="pln">total </span><span class="pun">!=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">total</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _b1</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"refresh"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> total</span><span class="pun">:</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">});</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _fixRowHeight</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
        dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">.</span><span class="pln">triggerHandler</span><span class="pun">(</span><span class="str">"scroll"</span><span class="pun">);</span><span class="pln">
        _b2</span><span class="pun">();</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"autoSizeColumn"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> _b2</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_b3</span><span class="pun">(</span><span class="pln">_ae</span><span class="pun">.</span><span class="pln">selectedRows</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _selectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_b3</span><span class="pun">(</span><span class="pln">_ae</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        _checkRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">function</span><span class="pln"> _b3</span><span class="pun">(</span><span class="pln">a</span><span class="pun">,</span><span class="pln"> r</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> a</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">a</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> r</span><span class="pun">[</span><span class="pln">_af</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">])</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        a</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> r</span><span class="pun">;</span><span class="pln">
                        </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">};</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//返回指定行的索引号,该行的参数可以是一行记录或一个ID字段值</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getRowIndex</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">typeof</span><span class="pln"> row </span><span class="pun">==</span><span class="pln"> </span><span class="str">"object"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> getObjectIndex</span><span class="pun">(</span><span class="pln">rows</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//返回所有被选中的行,当没有记录被选中的时候将返回一个空数组</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getSelected</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">selectedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> selectRows </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"selected"</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _be </span><span class="pun">=</span><span class="pln"> parseInt</span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"datagrid-row-index"</span><span class="pun">));</span><span class="pln">
                selectRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">_be</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> selectRows</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//在复选框呗选中的时候返回所有行</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getChecked</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> checkRows </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input:checked"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _c4 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"tr.datagrid-row"</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"datagrid-row-index"</span><span class="pun">);</span><span class="pln">
                checkRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> _c4</span><span class="pun">));</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> checkRows</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//通过ID值参数选择一行</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _selectRecord</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> _getRowIndex</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">index </span><span class="pun">>=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _selectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//选择一行,行索引从0开始</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _selectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> _cd</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> selectRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">selectedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">singleSelect</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _clearSelections</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
            selectRows</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> selectRows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">_cd </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">checkOnSelect</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _checkRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            idFieldRows</span><span class="pun">(</span><span class="pln">selectRows</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        opts</span><span class="pun">.</span><span class="pln">onSelect</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">).</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-row-selected"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">closest</span><span class="pun">(</span><span class="str">"table"</span><span class="pun">).</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-btable-frozen"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _d3 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">view2</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-header"</span><span class="pun">).</span><span class="pln">_outerHeight</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _d4 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _d5 </span><span class="pun">=</span><span class="pln"> _d4</span><span class="pun">.</span><span class="pln">outerHeight</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">)</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> _d4</span><span class="pun">.</span><span class="pln">outerHeight</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> top </span><span class="pun">=</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">position</span><span class="pun">().</span><span class="pln">top </span><span class="pun">-</span><span class="pln"> _d3 </span><span class="pun">-</span><span class="pln"> _d5</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">top </span><span class="pun"><</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _d4</span><span class="pun">.</span><span class="pln">scrollTop</span><span class="pun">(</span><span class="pln">_d4</span><span class="pun">.</span><span class="pln">scrollTop</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> top</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">top </span><span class="pun">+</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">_outerHeight</span><span class="pun">()</span><span class="pln"> </span><span class="pun">></span><span class="pln"> _d4</span><span class="pun">.</span><span class="pln">height</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> </span><span class="lit">18</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    _d4</span><span class="pun">.</span><span class="pln">scrollTop</span><span class="pun">(</span><span class="pln">_d4</span><span class="pun">.</span><span class="pln">scrollTop</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> top </span><span class="pun">+</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">_outerHeight</span><span class="pun">()</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> _d4</span><span class="pun">.</span><span class="pln">height</span><span class="pun">()</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="lit">18</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _unselectRow</span><span class="pun">(</span><span class="pln">_d7</span><span class="pun">,</span><span class="pln"> _d8</span><span class="pun">,</span><span class="pln"> _d9</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _da </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_d7</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> _da</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _db </span><span class="pun">=</span><span class="pln"> _da</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_d7</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">selectedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">_d9 </span><span class="pun">&&</span><span class="pln"> _db</span><span class="pun">.</span><span class="pln">checkOnSelect</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _uncheckRow</span><span class="pun">(</span><span class="pln">_d7</span><span class="pun">,</span><span class="pln"> _d8</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _db</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">_d7</span><span class="pun">,</span><span class="pln"> _d8</span><span class="pun">).</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"datagrid-row-selected"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> _db</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">_d7</span><span class="pun">,</span><span class="pln"> _d8</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_db</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            unSelectedRowsById</span><span class="pun">(</span><span class="pln">_dc</span><span class="pun">,</span><span class="pln"> _db</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">[</span><span class="pln">_db</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _db</span><span class="pun">.</span><span class="pln">onUnselect</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_d7</span><span class="pun">,</span><span class="pln"> _d8</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _selectAll</span><span class="pun">(</span><span class="pln">_df</span><span class="pun">,</span><span class="pln"> _e0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _e1 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_df</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _e2 </span><span class="pun">=</span><span class="pln"> _e1</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _e3 </span><span class="pun">=</span><span class="pln"> _e1</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _e4 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_df</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">selectedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">_e0 </span><span class="pun">&&</span><span class="pln"> _e2</span><span class="pun">.</span><span class="pln">checkOnSelect</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _checkAll</span><span class="pun">(</span><span class="pln">_df</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _e2</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">_df</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allbody"</span><span class="pun">).</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-row-selected"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_e2</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> _e6 </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> _e6 </span><span class="pun"><</span><span class="pln"> _e3</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> _e6</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                idFieldRows</span><span class="pun">(</span><span class="pln">_e4</span><span class="pun">,</span><span class="pln"> _e2</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> _e3</span><span class="pun">[</span><span class="pln">_e6</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _e2</span><span class="pun">.</span><span class="pln">onSelectAll</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_df</span><span class="pun">,</span><span class="pln"> _e3</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _clearSelections</span><span class="pun">(</span><span class="pln">_e7</span><span class="pun">,</span><span class="pln"> _e8</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _e9 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_e7</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _ea </span><span class="pun">=</span><span class="pln"> _e9</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _eb </span><span class="pun">=</span><span class="pln"> _e9</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _ec </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_e7</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">selectedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">_e8 </span><span class="pun">&&</span><span class="pln"> _ea</span><span class="pun">.</span><span class="pln">checkOnSelect</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _clearChecked</span><span class="pun">(</span><span class="pln">_e7</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _ea</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">_e7</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"selected"</span><span class="pun">).</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"datagrid-row-selected"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_ea</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> _ee </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> _ee </span><span class="pun"><</span><span class="pln"> _eb</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> _ee</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                unSelectedRowsById</span><span class="pun">(</span><span class="pln">_ec</span><span class="pun">,</span><span class="pln"> _ea</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> _eb</span><span class="pun">[</span><span class="pln">_ee</span><span class="pun">][</span><span class="pln">_ea</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _ea</span><span class="pun">.</span><span class="pln">onUnselectAll</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_e7</span><span class="pun">,</span><span class="pln"> _eb</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//勾选一行 </span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _checkRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> state</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">state </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">selectOnCheck</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _selectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> ck </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input[type=checkbox]"</span><span class="pun">);</span><span class="pln">
        ck</span><span class="pun">.</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        ck </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allbody"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input[type=checkbox]:not(:checked)"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">ck</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _f4 </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">header1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">);</span><span class="pln">
            _f4</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"input[type=checkbox]"</span><span class="pun">).</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            idFieldRows</span><span class="pun">(</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        opts</span><span class="pun">.</span><span class="pln">onCheck</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//取消勾选一行 </span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _uncheckRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> state</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">state </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">selectOnCheck</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _unselectRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> ck </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input[type=checkbox]"</span><span class="pun">);</span><span class="pln">
        ck</span><span class="pun">.</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _fa </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">header1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">);</span><span class="pln">
        _fa</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"input[type=checkbox]"</span><span class="pun">).</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            unSelectedRowsById</span><span class="pun">(</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">[</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        opts</span><span class="pun">.</span><span class="pln">onUncheck</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _checkAll</span><span class="pun">(</span><span class="pln">_fb</span><span class="pun">,</span><span class="pln"> _fc</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _fd </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_fb</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _fe </span><span class="pun">=</span><span class="pln"> _fd</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _ff </span><span class="pun">=</span><span class="pln"> _fd</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">_fc </span><span class="pun">&&</span><span class="pln"> _fe</span><span class="pun">.</span><span class="pln">selectOnCheck</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _selectAll</span><span class="pun">(</span><span class="pln">_fb</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> _fd</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> hck </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">header1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"input[type=checkbox]"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> bck </span><span class="pun">=</span><span class="pln"> _fe</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">_fb</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allbody"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input[type=checkbox]"</span><span class="pun">);</span><span class="pln">
        hck</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">bck</span><span class="pun">).</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_fe</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> _ff</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                idFieldRows</span><span class="pun">(</span><span class="pln">_fd</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">,</span><span class="pln"> _fe</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> _ff</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _fe</span><span class="pun">.</span><span class="pln">onCheckAll</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_fb</span><span class="pun">,</span><span class="pln"> _ff</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _clearChecked</span><span class="pun">(</span><span class="pln">_100</span><span class="pun">,</span><span class="pln"> _101</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> _102 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_100</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> _102</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> _102</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">_101 </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">selectOnCheck</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _clearSelections</span><span class="pun">(</span><span class="pln">_100</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> _102</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> hck </span><span class="pun">=</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">header1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">dc</span><span class="pun">.</span><span class="pln">header2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"input[type=checkbox]"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> bck </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">_100</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"allbody"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input[type=checkbox]"</span><span class="pun">);</span><span class="pln">
        hck</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">bck</span><span class="pun">).</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                unSelectedRowsById</span><span class="pun">(</span><span class="pln">_102</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        opts</span><span class="pun">.</span><span class="pln">onUncheckAll</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">_100</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//开始编辑行</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _beginEdit</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-row-editing"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">onBeforeEdit</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        tr</span><span class="pun">.</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-row-editing"</span><span class="pun">);</span><span class="pln">
        createEditor</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        fixEditorSize</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
        tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-editable"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> _107 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> ed </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid.editor"</span><span class="pun">);</span><span class="pln">
            ed</span><span class="pun">.</span><span class="pln">actions</span><span class="pun">.</span><span class="pln">setValue</span><span class="pun">(</span><span class="pln">ed</span><span class="pun">.</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">[</span><span class="pln">_107</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        validateRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//结束编辑行</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _endEdit</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> revert</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> updatedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">updatedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> insertedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">insertedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-row-editing"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">revert</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">validateRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> changed </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> newValues </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{};</span><span class="pln">
            tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-editable"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">parent</span><span class="pun">().</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> ed </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid.editor"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> ed</span><span class="pun">.</span><span class="pln">actions</span><span class="pun">.</span><span class="pln">getValue</span><span class="pun">(</span><span class="pln">ed</span><span class="pun">.</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">row</span><span class="pun">[</span><span class="pln">field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    row</span><span class="pun">[</span><span class="pln">field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> field</span><span class="pun">;</span><span class="pln">
                    changed </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
                    newValues</span><span class="pun">[</span><span class="pln">field</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> field</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">changed</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">getObjectIndex</span><span class="pun">(</span><span class="pln">insertedRows</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">getObjectIndex</span><span class="pun">(</span><span class="pln">updatedRows</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        updatedRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">row</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        tr</span><span class="pun">.</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"datagrid-row-editing"</span><span class="pun">);</span><span class="pln">
        destroyEditor</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"refreshRow"</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">revert</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">onAfterEdit</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">,</span><span class="pln"> newValues</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">onCancelEdit</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//获取指定行的编辑器。每个编辑器都有以下属性:</span><span class="pln">
    </span><span class="com">//actions:编辑器可以执行的动作,同编辑器定义。</span><span class="pln">
    </span><span class="com">//target:目标编辑器的jQuery对象。</span><span class="pln">
    </span><span class="com">//field:字段名称。</span><span class="pln">
    </span><span class="com">//type:编辑器类型,比如:'text','combobox','datebox'等。</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getEditors</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> editors </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
        tr</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"td"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> cell </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-editable"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">cell</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> ed </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">cell</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid.editor"</span><span class="pun">);</span><span class="pln">
                editors</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">ed</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> editors</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//获取指定编辑器,options包含2个属性:</span><span class="pln">
    </span><span class="com">//index:行索引。</span><span class="pln">
    </span><span class="com">//field:字段名称。</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getEditor</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> editors </span><span class="pun">=</span><span class="pln"> _getEditors</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> editors</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">editors</span><span class="pun">[</span><span class="pln">i</span><span class="pun">].</span><span class="pln">field </span><span class="pun">==</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editors</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//创建编辑器</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> createEditor</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        tr</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"td"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> cell </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col </span><span class="pun">&&</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">editor</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> type</span><span class="pun">,</span><span class="pln"> editorOpts</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">typeof</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">editor </span><span class="pun">==</span><span class="pln"> </span><span class="str">"string"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    type </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">editor</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    type </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">editor</span><span class="pun">.</span><span class="pln">type</span><span class="pun">;</span><span class="pln">
                    editorOpts </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">editor</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">editors</span><span class="pun">[</span><span class="pln">type</span><span class="pun">];</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">editor</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> html </span><span class="pun">=</span><span class="pln"> cell</span><span class="pun">.</span><span class="pln">html</span><span class="pun">();</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> width </span><span class="pun">=</span><span class="pln"> cell</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">();</span><span class="pln">
                    cell</span><span class="pun">.</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-editable"</span><span class="pun">);</span><span class="pln">
                    cell</span><span class="pun">.</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
                    cell</span><span class="pun">.</span><span class="pln">html</span><span class="pun">(</span><span class="str">"<table border=\"0\" cellspacing=\"0\" cellpadding=\"1\"><tr><td></td></tr></table>"</span><span class="pun">);</span><span class="pln">
                    cell</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"table"</span><span class="pun">).</span><span class="pln">bind</span><span class="pun">(</span><span class="str">"click dblclick contextmenu"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        e</span><span class="pun">.</span><span class="pln">stopPropagation</span><span class="pun">();</span><span class="pln">
                    </span><span class="pun">});</span><span class="pln">
                    $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">cell</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid.editor"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> actions</span><span class="pun">:</span><span class="pln"> editor</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">:</span><span class="pln"> editor</span><span class="pun">.</span><span class="pln">init</span><span class="pun">(</span><span class="pln">cell</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td"</span><span class="pun">),</span><span class="pln"> editorOpts</span><span class="pun">),</span><span class="pln"> field</span><span class="pun">:</span><span class="pln"> field</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">:</span><span class="pln"> type</span><span class="pun">,</span><span class="pln"> oldHtml</span><span class="pun">:</span><span class="pln"> html </span><span class="pun">});</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
        _fixRowHeight</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//销毁编辑器</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> destroyEditor</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        tr</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"td"</span><span class="pun">).</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> cell </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-editable"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">cell</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> ed </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">cell</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid.editor"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">ed</span><span class="pun">.</span><span class="pln">actions</span><span class="pun">.</span><span class="pln">destroy</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    ed</span><span class="pun">.</span><span class="pln">actions</span><span class="pun">.</span><span class="pln">destroy</span><span class="pun">(</span><span class="pln">ed</span><span class="pun">.</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                cell</span><span class="pun">.</span><span class="pln">html</span><span class="pun">(</span><span class="pln">ed</span><span class="pun">.</span><span class="pln">oldHtml</span><span class="pun">);</span><span class="pln">
                $</span><span class="pun">.</span><span class="pln">removeData</span><span class="pun">(</span><span class="pln">cell</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid.editor"</span><span class="pun">);</span><span class="pln">
                cell</span><span class="pun">.</span><span class="pln">removeClass</span><span class="pun">(</span><span class="str">"datagrid-editable"</span><span class="pun">);</span><span class="pln">
                cell</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"width"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//验证指定的行,当验证有效的时候返回true</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> validateRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">hasClass</span><span class="pun">(</span><span class="str">"datagrid-row-editing"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> vbox </span><span class="pun">=</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">".validatebox-text"</span><span class="pun">);</span><span class="pln">
        vbox</span><span class="pun">.</span><span class="pln">validatebox</span><span class="pun">(</span><span class="str">"validate"</span><span class="pun">);</span><span class="pln">
        vbox</span><span class="pun">.</span><span class="pln">trigger</span><span class="pun">(</span><span class="str">"mouseleave"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> invalid </span><span class="pun">=</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">".validatebox-invalid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> invalid</span><span class="pun">.</span><span class="pln">length </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//从上一次的提交获取改变的所有行。类型参数指明用哪些类型改变的行,可以使用的值有:inserted,deleted,updated等。当类型参数未配置的时候返回所有改变的行</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _getChanges</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> insertedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">insertedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> deletedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">deletedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> updatedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">updatedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">type</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            rows </span><span class="pun">=</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">concat</span><span class="pun">(</span><span class="pln">insertedRows</span><span class="pun">);</span><span class="pln">
            rows </span><span class="pun">=</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">concat</span><span class="pun">(</span><span class="pln">deletedRows</span><span class="pun">);</span><span class="pln">
            rows </span><span class="pun">=</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">concat</span><span class="pun">(</span><span class="pln">updatedRows</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> rows</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"inserted"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> insertedRows</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"deleted"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> deletedRows</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"updated"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">return</span><span class="pln"> updatedRows</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//删除行</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _deleteRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> insertedRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">insertedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> deletedRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">deletedRows</span><span class="pun">;</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"cancelEdit"</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">index</span><span class="pun">];</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">getObjectIndex</span><span class="pun">(</span><span class="pln">insertedRows</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">>=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            unSelectedRowsById</span><span class="pun">(</span><span class="pln">insertedRows</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            deletedRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">row</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        unSelectedRowsById</span><span class="pun">(</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">selectedRows</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">index</span><span class="pun">][</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]);</span><span class="pln">
        unSelectedRowsById</span><span class="pun">(</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">index</span><span class="pun">][</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]);</span><span class="pln">
        opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">deleteRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">height </span><span class="pun">==</span><span class="pln"> </span><span class="str">"auto"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _fixRowHeight</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPager"</span><span class="pun">).</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"refresh"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> total</span><span class="pun">:</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//插入一个新行,参数包括一下属性:</span><span class="pln">
    </span><span class="com">//index:要插入的行索引,如果该索引值未定义,则追加新行。</span><span class="pln">
    </span><span class="com">//row:行数据</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _insertRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> view </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">.</span><span class="pln">view</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> insertedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">insertedRows</span><span class="pun">;</span><span class="pln">
        view</span><span class="pun">.</span><span class="pln">insertRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">.</span><span class="pln">index</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">.</span><span class="pln">row</span><span class="pun">);</span><span class="pln">
        insertedRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">param</span><span class="pun">.</span><span class="pln">row</span><span class="pun">);</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPager"</span><span class="pun">).</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"refresh"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> total</span><span class="pun">:</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//追加一个新行。新行将被添加到最后的位置</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _appendRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> view </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">.</span><span class="pln">view</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> insertedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">insertedRows</span><span class="pun">;</span><span class="pln">
        view</span><span class="pun">.</span><span class="pln">insertRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> jq</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
        insertedRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">row</span><span class="pun">);</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPager"</span><span class="pun">).</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"refresh"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> total</span><span class="pun">:</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//加载本地数据,旧的行将被移除</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _loadData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> originalRows </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            originalRows</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">$</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> rows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]));</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        datagrid</span><span class="pun">.</span><span class="pln">originalRows </span><span class="pun">=</span><span class="pln"> originalRows</span><span class="pun">;</span><span class="pln">
        datagrid</span><span class="pun">.</span><span class="pln">updatedRows </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
        datagrid</span><span class="pun">.</span><span class="pln">insertedRows </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
        datagrid</span><span class="pun">.</span><span class="pln">deletedRows </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//提交所有从加载或者上一次调用acceptChanges函数后更改的数据</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _acceptChanges</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> ok </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> len </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> len</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">validateRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _endEdit</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                ok </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">ok</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _loadData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//回滚所有从创建或者上一次调用acceptChanges函数后更改的数据</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _rejectChanges</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> originalRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">originalRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> insertedRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">insertedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> deletedRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">deletedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> selectedRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">selectedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> checkedRows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">checkedRows</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> </span><span class="typ">Rowids</span><span class="pun">(</span><span class="pln">a</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> ids </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> a</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                ids</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">a</span><span class="pun">[</span><span class="pln">i</span><span class="pun">][</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">idField</span><span class="pun">]);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> ids</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> selectRecord</span><span class="pun">(</span><span class="pln">ids</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> ids</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> index </span><span class="pun">=</span><span class="pln"> _getRowIndex</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> ids</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]);</span><span class="pln">
                </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"s"</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> _selectRow </span><span class="pun">:</span><span class="pln"> _checkRow</span><span class="pun">)(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            _endEdit</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> sids </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Rowids</span><span class="pun">(</span><span class="pln">selectedRows</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> cids </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Rowids</span><span class="pun">(</span><span class="pln">checkedRows</span><span class="pun">);</span><span class="pln">
        selectedRows</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> selectedRows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">);</span><span class="pln">
        checkedRows</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> checkedRows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">);</span><span class="pln">
        data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">+=</span><span class="pln"> deletedRows</span><span class="pun">.</span><span class="pln">length </span><span class="pun">-</span><span class="pln"> insertedRows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln">
        data</span><span class="pun">.</span><span class="pln">rows </span><span class="pun">=</span><span class="pln"> originalRows</span><span class="pun">;</span><span class="pln">
        _removeData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
        selectRecord</span><span class="pun">(</span><span class="pln">sids</span><span class="pun">,</span><span class="pln"> </span><span class="str">"s"</span><span class="pun">);</span><span class="pln">
        selectRecord</span><span class="pun">(</span><span class="pln">cids</span><span class="pun">,</span><span class="pln"> </span><span class="str">"c"</span><span class="pun">);</span><span class="pln">
        _loadData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//加载和显示第一页的所有行。如果指定了'param',它将取代'queryParams'属性。通常可以通过传递一些参数执行一次查询,通过调用这个方法从服务器加载新数据</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _load</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">queryParams </span><span class="pun">=</span><span class="pln"> param</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> param </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">queryParams</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">(</span><span class="pln">param</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> page</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageNumber</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageSize </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">sortName</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">(</span><span class="pln">param</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> sort</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">sortName</span><span class="pun">,</span><span class="pln"> order</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">sortOrder </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">onBeforeLoad</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"loading"</span><span class="pun">);</span><span class="pln">
        setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            doRequest</span><span class="pun">();</span><span class="pln">
        </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">function</span><span class="pln"> doRequest</span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> loaded </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">loader</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"loaded"</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
                _removeData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
                setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    _loadData</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                setTimeout</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"loaded"</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">},</span><span class="pln"> </span><span class="lit">0</span><span class="pun">);</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">onLoadError</span><span class="pun">.</span><span class="pln">apply</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> arguments</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">loaded </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"loaded"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">};</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//合并单元格,options包含以下属性:</span><span class="pln">
    </span><span class="com">//index:行索引。</span><span class="pln">
    </span><span class="com">//field:字段名称。</span><span class="pln">
    </span><span class="com">//rowspan:合并的行数。</span><span class="pln">
    </span><span class="com">//colspan:合并的列数。</span><span class="pln">
    </span><span class="kwd">function</span><span class="pln"> _mergeCells</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
        options</span><span class="pun">.</span><span class="pln">rowspan </span><span class="pun">=</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">rowspan </span><span class="pun">||</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
        options</span><span class="pun">.</span><span class="pln">colspan </span><span class="pun">=</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">colspan </span><span class="pun">||</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">options</span><span class="pun">.</span><span class="pln">rowspan </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">colspan </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="pln">options</span><span class="pun">.</span><span class="pln">index </span><span class="pun">!=</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">index </span><span class="pun">:</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">id</span><span class="pun">));</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> tr</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> row</span><span class="pun">[</span><span class="pln">options</span><span class="pun">.</span><span class="pln">field</span><span class="pun">];</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td[field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">field </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"]"</span><span class="pun">);</span><span class="pln">
        td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"rowspan"</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">rowspan</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"colspan"</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">colspan</span><span class="pun">);</span><span class="pln">
        td</span><span class="pun">.</span><span class="pln">addClass</span><span class="pun">(</span><span class="str">"datagrid-td-merged"</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">colspan</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            td </span><span class="pun">=</span><span class="pln"> td</span><span class="pun">.</span><span class="kwd">next</span><span class="pun">();</span><span class="pln">
            td</span><span class="pun">.</span><span class="pln">hide</span><span class="pun">();</span><span class="pln">
            row</span><span class="pun">[</span><span class="pln">td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">)]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> field</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">rowspan</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            tr </span><span class="pun">=</span><span class="pln"> tr</span><span class="pun">.</span><span class="kwd">next</span><span class="pun">();</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">break</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> row </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> tr</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> td </span><span class="pun">=</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td[field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">field </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"]"</span><span class="pun">).</span><span class="pln">hide</span><span class="pun">();</span><span class="pln">
            row</span><span class="pun">[</span><span class="pln">td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">)]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> field</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> j </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> j </span><span class="pun"><</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">colspan</span><span class="pun">;</span><span class="pln"> j</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                td </span><span class="pun">=</span><span class="pln"> td</span><span class="pun">.</span><span class="kwd">next</span><span class="pun">();</span><span class="pln">
                td</span><span class="pun">.</span><span class="pln">hide</span><span class="pun">();</span><span class="pln">
                row</span><span class="pun">[</span><span class="pln">td</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"field"</span><span class="pun">)]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> field</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        _91</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">);</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//实例化</span><span class="pln">
    $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">datagrid </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">options</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">typeof</span><span class="pln"> options </span><span class="pun">==</span><span class="pln"> </span><span class="str">"string"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">methods</span><span class="pun">[</span><span class="pln">options</span><span class="pun">](</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
        options </span><span class="pun">=</span><span class="pln"> options </span><span class="pun">||</span><span class="pln"> </span><span class="pun">{};</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> state </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">state</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">(</span><span class="pln">state</span><span class="pun">.</span><span class="pln">options</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">);</span><span class="pln">
                state</span><span class="pun">.</span><span class="pln">options </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">defaults</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> queryParams</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{}</span><span class="pln"> </span><span class="pun">}),</span><span class="pln">
                    $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">parseOptions</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">),</span><span class="pln">
                    options</span><span class="pun">);</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">css</span><span class="pun">(</span><span class="str">"width"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">).</span><span class="pln">css</span><span class="pun">(</span><span class="str">"height"</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> gridWrap </span><span class="pun">=</span><span class="pln"> wrapGrid</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rownumbers</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">columns</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">columns </span><span class="pun">=</span><span class="pln"> gridWrap</span><span class="pun">.</span><span class="pln">columns</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">frozenColumns</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">frozenColumns </span><span class="pun">=</span><span class="pln"> gridWrap</span><span class="pun">.</span><span class="pln">frozenColumns</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">columns </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[],</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">columns</span><span class="pun">);</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">frozenColumns </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">(</span><span class="kwd">true</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[],</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">frozenColumns</span><span class="pun">);</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">view </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">);</span><span class="pln">
                $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    options</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">,</span><span class="pln">
                    panel</span><span class="pun">:</span><span class="pln"> gridWrap</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">,</span><span class="pln">
                    dc</span><span class="pun">:</span><span class="pln"> gridWrap</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">,</span><span class="pln">
                    selectedRows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
                    checkedRows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
                    data</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> total</span><span class="pun">:</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[]</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
                    originalRows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
                    updatedRows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
                    insertedRows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[],</span><span class="pln">
                    deletedRows</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
                </span><span class="pun">});</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            init</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _removeData</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">data</span><span class="pun">);</span><span class="pln">
                _loadData</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> getGridData</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">></span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    _removeData</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
                    _loadData</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            _resize</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            _load</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            bingEvent</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//editors 重写默认值对象</span><span class="pln">
    </span><span class="kwd">var</span><span class="pln"> editors </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">//文本框</span><span class="pln">
        text</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<input type=\"text\" class=\"datagrid-editable-input\">"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            </span><span class="com">//从编辑器中获取值</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            </span><span class="com">//向编辑器中写入值</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">(</span><span class="pln">value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            </span><span class="com">//向编辑器中写入值</span><span class="pln">
            resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//多行文本</span><span class="pln">
        textarea</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<textarea class=\"datagrid-editable-input\"></textarea>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">(</span><span class="pln">value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//选择框</span><span class="pln">
        checkbox</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<input type=\"checkbox\">"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                editor</span><span class="pun">.</span><span class="pln">val</span><span class="pun">(</span><span class="pln">options</span><span class="pun">.</span><span class="pln">on</span><span class="pun">);</span><span class="pln">
                editor</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"offval"</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">.</span><span class="pln">off</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="kwd">is</span><span class="pun">(</span><span class="str">":checked"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"offval"</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> </span><span class="kwd">checked</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">$</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">checked</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">checked</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//数值输入框</span><span class="pln">
 </span><span class="pln">       numberbox</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<input type=\"text\" class=\"datagrid-editable-input\">"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                editor</span><span class="pun">.</span><span class="pln">numberbox</span><span class="pun">(</span><span class="pln">options</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            destroy</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">numberbox</span><span class="pun">(</span><span class="str">"destroy"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">blur</span><span class="pun">();</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">numberbox</span><span class="pun">(</span><span class="str">"getValue"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">numberbox</span><span class="pun">(</span><span class="str">"setValue"</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//验证框</span><span class="pln">
        validatebox</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<input type=\"text\" class=\"datagrid-editable-input\">"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                editor</span><span class="pun">.</span><span class="pln">validatebox</span><span class="pun">(</span><span class="pln">options</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            destroy</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">validatebox</span><span class="pun">(</span><span class="str">"destroy"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">val</span><span class="pun">(</span><span class="pln">value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">_outerWidth</span><span class="pun">(</span><span class="pln">width</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//日期框</span><span class="pln">
        datebox</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<input type=\"text\">"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                editor</span><span class="pun">.</span><span class="pln">datebox</span><span class="pun">(</span><span class="pln">options</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            destroy</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datebox</span><span class="pun">(</span><span class="str">"destroy"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datebox</span><span class="pun">(</span><span class="str">"getValue"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datebox</span><span class="pun">(</span><span class="str">"setValue"</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datebox</span><span class="pun">(</span><span class="str">"resize"</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//下拉框</span><span class="pln">
        combobox</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<input type=\"text\">"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                editor</span><span class="pun">.</span><span class="pln">combobox</span><span class="pun">(</span><span class="pln">options </span><span class="pun">||</span><span class="pln"> </span><span class="pun">{});</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            destroy</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combobox</span><span class="pun">(</span><span class="str">"destroy"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combobox</span><span class="pun">(</span><span class="str">"getValue"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combobox</span><span class="pun">(</span><span class="str">"setValue"</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combobox</span><span class="pun">(</span><span class="str">"resize"</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//下拉树</span><span class="pln">
        combotree</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="com">//初始化编辑器并返回目标对象</span><span class="pln">
            init</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">container</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> editor </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<input type=\"text\">"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="pln">container</span><span class="pun">);</span><span class="pln">
                editor</span><span class="pun">.</span><span class="pln">combotree</span><span class="pun">(</span><span class="pln">target</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> editor</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            destroy</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combotree</span><span class="pun">(</span><span class="str">"destroy"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combotree</span><span class="pun">(</span><span class="str">"getValue"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            setValue</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combotree</span><span class="pun">(</span><span class="str">"setValue"</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">combotree</span><span class="pun">(</span><span class="str">"resize"</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
 
    </span><span class="com">//表格默认方法</span><span class="pln">
    $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">methods </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">//返回属性对象</span><span class="pln">
        options</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> panelOpts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">panel</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">(</span><span class="str">"options"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">,</span><span class="pln">
                </span><span class="pun">{</span><span class="pln">
                    width</span><span class="pun">:</span><span class="pln"> panelOpts</span><span class="pun">.</span><span class="pln">width</span><span class="pun">,</span><span class="pln">
                    height</span><span class="pun">:</span><span class="pln"> panelOpts</span><span class="pun">.</span><span class="pln">height</span><span class="pun">,</span><span class="pln">
                    closed</span><span class="pun">:</span><span class="pln"> panelOpts</span><span class="pun">.</span><span class="pln">closed</span><span class="pun">,</span><span class="pln">
                    collapsed</span><span class="pun">:</span><span class="pln"> panelOpts</span><span class="pun">.</span><span class="pln">collapsed</span><span class="pun">,</span><span class="pln">
                    minimized</span><span class="pun">:</span><span class="pln"> panelOpts</span><span class="pun">.</span><span class="pln">minimized</span><span class="pun">,</span><span class="pln">
                    maximized</span><span class="pun">:</span><span class="pln"> panelOpts</span><span class="pun">.</span><span class="pln">maximized
                </span><span class="pun">});</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> opts</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回面板对象</span><span class="pln">
        getPanel</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">panel</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回页面对象</span><span class="pln">
        getPager</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">panel</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-pager"</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回列字段。如果设置了frozen属性为true,将返回固定列的字段名</span><span class="pln">
        getColumnFields</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getColumnFields</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> frozen</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回指定列属性</span><span class="pln">
        getColumnOption</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getColumnOption</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//做调整和布局</span><span class="pln">
        resize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _resize</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//加载和显示第一页的所有行。如果指定了'param',它将取代'queryParams'属性。通常可以通过传递一些参数执行一次查询,通过调用这个方法从服务器加载新数据</span><span class="pln">
        load</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"options"</span><span class="pun">);</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">pageNumber </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Pager</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPager"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">Pager</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">({</span><span class="pln"> pageNumber</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">});</span><span class="pln">
                _load</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//重载行。等同于'load'方法,但是它将保持在当前页</span><span class="pln">
        reload</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _load</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//重载页脚行。代码示例</span><span class="pln">
        reloadFooter</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> footer</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">footer</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">footer </span><span class="pun">=</span><span class="pln"> footer</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">showFooter</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">renderFooter</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer2</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">renderFooter</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer1</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">onAfterRender</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">onAfterRender</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"fixRowHeight"</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//显示载入状态</span><span class="pln">
        loading</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPager"</span><span class="pun">).</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"loading"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">loadMsg</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Panel</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPanel"</span><span class="pun">);</span><span class="pln">
                    $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-mask\" style=\"display:block\"></div>"</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="typ">Panel</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> msg </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"<div class=\"datagrid-mask-msg\" style=\"display:block;left:50%\"></div>"</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">loadMsg</span><span class="pun">).</span><span class="pln">appendTo</span><span class="pun">(</span><span class="typ">Panel</span><span class="pun">);</span><span class="pln">
                    msg</span><span class="pun">.</span><span class="pln">css</span><span class="pun">(</span><span class="str">"marginLeft"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">-</span><span class="pln">msg</span><span class="pun">.</span><span class="pln">outerWidth</span><span class="pun">()</span><span class="pln"> </span><span class="pun">/</span><span class="pln"> </span><span class="lit">2</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//隐藏载入状态</span><span class="pln">
        loaded</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPager"</span><span class="pun">).</span><span class="pln">pagination</span><span class="pun">(</span><span class="str">"loaded"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Panel</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPanel"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">Panel</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-mask-msg"</span><span class="pun">).</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
                </span><span class="typ">Panel</span><span class="pun">.</span><span class="pln">children</span><span class="pun">(</span><span class="str">"div.datagrid-mask"</span><span class="pun">).</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//使列自动展开/收缩到合适的数据表格宽度</span><span class="pln">
        fitColumns</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _fitColumns</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//固定列大小。如果'field'参数未配置,所有列大小将都是固定的</span><span class="pln">
        fixColumnSize</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _fixColumnSize</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//固定指定列高度。如果'index'参数未配置,所有行高度都是固定的</span><span class="pln">
        fixRowHeight</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _fixRowHeight</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//冻结指定行,当数据表格表格向下滚动的时候始终保持被冻结的行显示在顶部</span><span class="pln">
        freezeRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _freezeRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//自动调整列宽度以适应内容</span><span class="pln">
        autoSizeColumn</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _autoSizeColumn</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//加载本地数据,旧的行将被移除</span><span class="pln">
        loadData</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _removeData</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">);</span><span class="pln">
                _loadData</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回加载完毕后的数据</span><span class="pln">
        getData</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回当前页的所有行</span><span class="pln">
        getRows</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回页脚行</span><span class="pln">
        getFooterRows</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">footer</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回指定行的索引号,该行的参数可以是一行记录或一个ID字段值</span><span class="pln">
        getRowIndex</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getRowIndex</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> id</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在复选框呗选中的时候返回所有行</span><span class="pln">
        getChecked</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getChecked</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回第一个被选中的行或如果没有选中的行则返回null</span><span class="pln">
        getSelected</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> _getSelected</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">length </span><span class="pun">></span><span class="pln"> </span><span class="lit">0</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> rows</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">;</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回所有被选中的行,当没有记录被选中的时候将返回一个空数组</span><span class="pln">
        getSelections</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getSelected</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//清除所有选择的行</span><span class="pln">
        clearSelections</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> selectedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">selectedRows</span><span class="pun">;</span><span class="pln">
                selectedRows</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> selectedRows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">);</span><span class="pln">
                _clearSelections</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//清楚所有勾选的行</span><span class="pln">
        clearChecked</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> checkedRows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">checkedRows</span><span class="pun">;</span><span class="pln">
                checkedRows</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="lit">0</span><span class="pun">,</span><span class="pln"> checkedRows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">);</span><span class="pln">
                _clearChecked</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//clearChecked</span><span class="pln">
        selectAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _selectAll</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//取消选择所有当前页中所有的行</span><span class="pln">
        unselectAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _clearSelections</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//选择一行,行索引从0开始</span><span class="pln">
        selectRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _selectRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//通过ID值参数选择一行</span><span class="pln">
        selectRecord</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _selectRecord</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> id</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//取消选择一行</span><span class="pln">
        unselectRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _unselectRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//勾选一行,行索引从0开始</span><span class="pln">
        checkRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _checkRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
 
        uncheckRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> _1b7</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _uncheckRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> _1b7</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//勾选当前页中的所有行</span><span class="pln">
        checkAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _checkAll</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//取消勾选当前页中的所有行</span><span class="pln">
        uncheckAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _clearChecked</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//开始编辑行</span><span class="pln">
        beginEdit</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _beginEdit</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//结束编辑行</span><span class="pln">
        endEdit</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _endEdit</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//取消编辑行</span><span class="pln">
        cancelEdit</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _endEdit</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//获取指定行的编辑器。每个编辑器都有以下属性:</span><span class="pln">
        </span><span class="com">//actions:编辑器可以执行的动作,同编辑器定义。</span><span class="pln">
        </span><span class="com">//target:目标编辑器的jQuery对象。</span><span class="pln">
        </span><span class="com">//field:字段名称。</span><span class="pln">
        </span><span class="com">//type:编辑器类型,比如:'text','combobox','datebox'等。</span><span class="pln">
        getEditors</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getEditors</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//获取指定编辑器,options包含2个属性:</span><span class="pln">
        </span><span class="com">//index:行索引。</span><span class="pln">
        </span><span class="com">//field:字段名称。 </span><span class="pln">
        getEditor</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getEditor</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> options</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//刷新行。</span><span class="pln">
        refreshRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">refreshRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//验证指定的行,当验证有效的时候返回true</span><span class="pln">
        validateRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> validateRow</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//更新指定行,参数包含下列属性:</span><span class="pln">
        </span><span class="com">//index:执行更新操作的行索引。</span><span class="pln">
        </span><span class="com">//row:更新行的新数据</span><span class="pln">
        updateRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
                opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">.</span><span class="pln">updateRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">view</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">.</span><span class="pln">index</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">.</span><span class="pln">row</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//追加一个新行。新行将被添加到最后的位置</span><span class="pln">
        appendRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _appendRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//插入一个新行,参数包括一下属性:</span><span class="pln">
        </span><span class="com">//index:要插入的行索引,如果该索引值未定义,则追加新行。</span><span class="pln">
        </span><span class="com">//row:行数据</span><span class="pln">
        insertRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _insertRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> param</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//删除行</span><span class="pln">
        deleteRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _deleteRow</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> index</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//从上一次的提交获取改变的所有行。类型参数指明用哪些类型改变的行,可以使用的值有:inserted,deleted,updated等。当类型参数未配置的时候返回所有改变的行</span><span class="pln">
        getChanges</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> _getChanges</span><span class="pun">(</span><span class="pln">jq</span><span class="pun">[</span><span class="lit">0</span><span class="pun">],</span><span class="pln"> type</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//提交所有从加载或者上一次调用acceptChanges函数后更改的数据</span><span class="pln">
        acceptChanges</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _acceptChanges</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//回滚所有从创建或者上一次调用acceptChanges函数后更改的数据</span><span class="pln">
        rejectChanges</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _rejectChanges</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//合并单元格,options包含以下属性:</span><span class="pln">
        </span><span class="com">//index:行索引。</span><span class="pln">
        </span><span class="com">//field:字段名称。</span><span class="pln">
        </span><span class="com">//rowspan:合并的行数。</span><span class="pln">
        </span><span class="com">//colspan:合并的列数。</span><span class="pln">
        mergeCells</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                _mergeCells</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> options</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//显示指定的列</span><span class="pln">
        showColumn</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Panel</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPanel"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">Panel</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td[field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> field </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"]"</span><span class="pun">).</span><span class="pln">show</span><span class="pun">();</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnOption"</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">).</span><span class="pln">hidden </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"fitColumns"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//隐藏指定的列</span><span class="pln">
        hideColumn</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">jq</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> jq</span><span class="pun">.</span><span class="pln">each</span><span class="pun">(</span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Panel</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPanel"</span><span class="pun">);</span><span class="pln">
                </span><span class="typ">Panel</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"td[field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> field </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"]"</span><span class="pun">).</span><span class="pln">hide</span><span class="pun">();</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnOption"</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">).</span><span class="pln">hidden </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">;</span><span class="pln">
                $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"fitColumns"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
 
    $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">parseOptions </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_1c8</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="kwd">var</span><span class="pln"> t </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">_1c8</span><span class="pun">);</span><span class="pln">
        </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln">
            $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">.</span><span class="pln">parseOptions</span><span class="pun">(</span><span class="pln">_1c8</span><span class="pun">),</span><span class="pln">
            $</span><span class="pun">.</span><span class="pln">parser</span><span class="pun">.</span><span class="pln">parseOptions</span><span class="pun">(</span><span class="pln">_1c8</span><span class="pun">,</span><span class="pln"> </span><span class="pun">[</span><span class="str">"url"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"toolbar"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"idField"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"sortName"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"sortOrder"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"pagePosition"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"resizeHandle"</span><span class="pun">,</span><span class="pln">
                </span><span class="pun">{</span><span class="pln"> fitColumns</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> autoRowHeight</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> striped</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> nowrap</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
                </span><span class="pun">{</span><span class="pln"> rownumbers</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> singleSelect</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> checkOnSelect</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> selectOnCheck</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
                </span><span class="pun">{</span><span class="pln"> pagination</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> pageSize</span><span class="pun">:</span><span class="pln"> </span><span class="str">"number"</span><span class="pun">,</span><span class="pln"> pageNumber</span><span class="pun">:</span><span class="pln"> </span><span class="str">"number"</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
                </span><span class="pun">{</span><span class="pln"> remoteSort</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> showHeader</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pun">,</span><span class="pln"> showFooter</span><span class="pun">:</span><span class="pln"> </span><span class="str">"boolean"</span><span class="pln"> </span><span class="pun">},</span><span class="pln">
                </span><span class="pun">{</span><span class="pln"> scrollbarSize</span><span class="pun">:</span><span class="pln"> </span><span class="str">"number"</span><span class="pln"> </span><span class="pun">}]),</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    pageList</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">t</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"pageList"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="kwd">eval</span><span class="pun">(</span><span class="pln">t</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"pageList"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">),</span><span class="pln">
                    loadMsg</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">t</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"loadMsg"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> t</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"loadMsg"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">),</span><span class="pln">
                    rowStyler</span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">t</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"rowStyler"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="kwd">eval</span><span class="pun">(</span><span class="pln">t</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"rowStyler"</span><span class="pun">))</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">)</span><span class="pln">
                </span><span class="pun">});</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//定义数据表格的视图 该视图是一个对象,将告诉数据表格如何渲染行。该对象必须定义下列函</span><span class="pln">
    </span><span class="kwd">var</span><span class="pln"> view </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="com">//    数据加载时调用。</span><span class="pln">
        </span><span class="com">//target:DOM对象,数据表格对象。</span><span class="pln">
        </span><span class="com">//container:行容器。</span><span class="pln">
        </span><span class="com">//frozen:指明如何渲染冻结容器。</span><span class="pln">
        render</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> container</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> fields </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnFields"</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">frozen</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">rownumbers </span><span class="pun">||</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">frozenColumns </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">frozenColumns</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)))</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> html </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="str">"<table class=\"datagrid-btable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"</span><span class="pun">];</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> cls </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">%</span><span class="pln"> </span><span class="lit">2</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">striped</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> </span><span class="str">"class=\"datagrid-row datagrid-row-alt\""</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">"class=\"datagrid-row\""</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> style </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rowStyler </span><span class="pun">?</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rowStyler</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">])</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> style </span><span class="pun">=</span><span class="pln"> style </span><span class="pun">?</span><span class="pln"> </span><span class="str">"style=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> style </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\""</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1d2 </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">rowIdPrefix </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(</span><span class="pln">frozen </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">
                html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"<tr id=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _1d2 </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" datagrid-row-index=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> i </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> cls </span><span class="pun">+</span><span class="pln"> </span><span class="str">" "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> style </span><span class="pun">+</span><span class="pln"> </span><span class="str">">"</span><span class="pun">);</span><span class="pln">
                html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">renderRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">,</span><span class="pln"> fields</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]));</span><span class="pln">
                html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"</tr>"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"</tbody></table>"</span><span class="pun">);</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">container</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="pln">html</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="str">""</span><span class="pun">));</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//这是一个选择函数来渲染行页脚</span><span class="pln">
        renderFooter</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> container</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">footer </span><span class="pun">||</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> fields </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnFields"</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> html </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="str">"<table class=\"datagrid-ftable\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"</span><span class="pun">];</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"<tr class=\"datagrid-row\" datagrid-row-index=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> i </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\">"</span><span class="pun">);</span><span class="pln">
                html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">renderRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">,</span><span class="pln"> fields</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">[</span><span class="pln">i</span><span class="pun">]));</span><span class="pln">
                html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"</tr>"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            html</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"</tbody></table>"</span><span class="pun">);</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">container</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="pln">html</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="str">""</span><span class="pun">));</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//这是一个属性功能,将调用render函数</span><span class="pln">
        renderRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> fields</span><span class="pun">,</span><span class="pln"> frozen</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> cc </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[];</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">frozen </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rownumbers</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> rowIndex </span><span class="pun">=</span><span class="pln"> rowIndex </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    rowIndex </span><span class="pun">+=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pageNumber </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageSize</span><span class="pun">;</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
                cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"<td class=\"datagrid-td-rownumber\"><div class=\"datagrid-cell-rownumber\">"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> rowIndex </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</div></td>"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> fields</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> field </span><span class="pun">=</span><span class="pln"> fields</span><span class="pun">[</span><span class="pln">i</span><span class="pun">];</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> col </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnOption"</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> _1df </span><span class="pun">=</span><span class="pln"> rowData</span><span class="pun">[</span><span class="pln">field</span><span class="pun">];</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> style </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">styler </span><span class="pun">?</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">styler</span><span class="pun">(</span><span class="pln">_1df</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">)</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> </span><span class="str">""</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> style </span><span class="pun">=</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">hidden </span><span class="pun">?</span><span class="pln"> </span><span class="str">"style=\"display:none;"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> style </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\""</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="pun">(</span><span class="pln">style </span><span class="pun">?</span><span class="pln"> </span><span class="str">"style=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> style </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\""</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
                    cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"<td field=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> field </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> style </span><span class="pun">+</span><span class="pln"> </span><span class="str">">"</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">checkbox</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> style </span><span class="pun">=</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> style </span><span class="pun">=</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">align</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            style </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"text-align:"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">align </span><span class="pun">+</span><span class="pln"> </span><span class="str">";"</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">nowrap</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            style </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"white-space:normal;height:auto;"</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">autoRowHeight</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                style </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"height:auto;"</span><span class="pun">;</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"<div style=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> style </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" "</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">checkbox</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"class=\"datagrid-cell-check "</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"class=\"datagrid-cell "</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> col</span><span class="pun">.</span><span class="pln">cellClass</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"\">"</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">checkbox</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"<input type=\"checkbox\" name=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> field </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" value=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_1df </span><span class="pun">!=</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> _1df </span><span class="pun">:</span><span class="pln"> </span><span class="str">""</span><span class="pun">)</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"/>"</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">formatter</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">col</span><span class="pun">.</span><span class="pln">formatter</span><span class="pun">(</span><span class="pln">_1df</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">));</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="pln">_1df</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                    cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"</div>"</span><span class="pun">);</span><span class="pln">
                    cc</span><span class="pun">.</span><span class="pln">push</span><span class="pun">(</span><span class="str">"</td>"</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> cc</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="str">""</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//定义如何刷新指定的行</span><span class="pln">
        refreshRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">updateRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//更新行</span><span class="pln">
        updateRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> rows </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getRows"</span><span class="pun">);</span><span class="pln">
            $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">(</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">rowIndex</span><span class="pun">],</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> style </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rowStyler </span><span class="pun">?</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rowStyler</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">[</span><span class="pln">rowIndex</span><span class="pun">])</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="str">""</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">function</span><span class="pln"> _1e7</span><span class="pun">(</span><span class="pln">_1e8</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1e9 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnFields"</span><span class="pun">,</span><span class="pln"> _1e8</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">,</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_1e8 </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">));</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1ea </span><span class="pun">=</span><span class="pln"> tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input[type=checkbox]"</span><span class="pun">).</span><span class="kwd">is</span><span class="pun">(</span><span class="str">":checked"</span><span class="pun">);</span><span class="pln">
                tr</span><span class="pun">.</span><span class="pln">html</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">renderRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">,</span><span class="pln"> _1e9</span><span class="pun">,</span><span class="pln"> _1e8</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">[</span><span class="pln">rowIndex</span><span class="pun">]));</span><span class="pln">
                tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"style"</span><span class="pun">,</span><span class="pln"> style </span><span class="pun">||</span><span class="pln"> </span><span class="str">""</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_1ea</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-check input[type=checkbox]"</span><span class="pun">).</span><span class="pln">_propAttr</span><span class="pun">(</span><span class="str">"checked"</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">};</span><span class="pln">
            _1e7</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
            _1e7</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"fixRowHeight"</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//插入行</span><span class="pln">
        insertRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pln"> </span><span class="pun">||</span><span class="pln"> rowIndex </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                rowIndex </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex </span><span class="pun">></span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                rowIndex </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            </span><span class="kwd">function</span><span class="pln"> _1ee</span><span class="pun">(</span><span class="pln">_1ef</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1f0 </span><span class="pun">=</span><span class="pln"> _1ef </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> i </span><span class="pun">>=</span><span class="pln"> rowIndex</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">--)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">,</span><span class="pln"> _1f0</span><span class="pun">);</span><span class="pln">
                    tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"datagrid-row-index"</span><span class="pun">,</span><span class="pln"> i </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                    tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"id"</span><span class="pun">,</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">rowIdPrefix </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _1f0 </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">));</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_1ef </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rownumbers</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> _1f1 </span><span class="pun">=</span><span class="pln"> i </span><span class="pun">+</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            _1f1 </span><span class="pun">+=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pageNumber </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageSize</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-rownumber"</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="pln">_1f1</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">};</span><span class="pln">
            </span><span class="kwd">function</span><span class="pln"> _1f2</span><span class="pun">(</span><span class="pln">_1f3</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1f4 </span><span class="pun">=</span><span class="pln"> _1f3 </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1f5 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getColumnFields"</span><span class="pun">,</span><span class="pln"> _1f3</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1f6 </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">rowIdPrefix </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _1f4 </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> rowIndex</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> </span><span class="str">"<tr id=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _1f6 </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\" class=\"datagrid-row\" datagrid-row-index=\""</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> rowIndex </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\"></tr>"</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex </span><span class="pun">>=</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">""</span><span class="pun">,</span><span class="pln"> </span><span class="str">"last"</span><span class="pun">,</span><span class="pln"> _1f4</span><span class="pun">).</span><span class="pln">after</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> cc </span><span class="pun">=</span><span class="pln"> _1f3 </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">;</span><span class="pln">
                        cc</span><span class="pun">.</span><span class="pln">html</span><span class="pun">(</span><span class="str">"<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tbody>"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> tr </span><span class="pun">+</span><span class="pln"> </span><span class="str">"</tbody></table>"</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">,</span><span class="pln"> _1f4</span><span class="pun">).</span><span class="pln">before</span><span class="pun">(</span><span class="pln">tr</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">};</span><span class="pln">
            _1ee</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
            _1ee</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            _1f2</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
            _1f2</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">+=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> </span><span class="lit">0</span><span class="pun">,</span><span class="pln"> row</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">refreshRow</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//删除行</span><span class="pln">
        deleteRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> datagrid </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> data </span><span class="pun">=</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">data</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">function</span><span class="pln"> _1fa</span><span class="pun">(</span><span class="pln">_1fb</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _1fc </span><span class="pun">=</span><span class="pln"> _1fb </span><span class="pun">?</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> </span><span class="lit">2</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">for</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">var</span><span class="pln"> i </span><span class="pun">=</span><span class="pln"> rowIndex </span><span class="pun">+</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln"> i </span><span class="pun"><</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">length</span><span class="pun">;</span><span class="pln"> i</span><span class="pun">++)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> i</span><span class="pun">,</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">,</span><span class="pln"> _1fc</span><span class="pun">);</span><span class="pln">
                    tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"datagrid-row-index"</span><span class="pun">,</span><span class="pln"> i </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                    tr</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"id"</span><span class="pun">,</span><span class="pln"> datagrid</span><span class="pun">.</span><span class="pln">rowIdPrefix </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _1fc </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="pun">(</span><span class="pln">i </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">));</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_1fb </span><span class="pun">&&</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">rownumbers</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> _1fd </span><span class="pun">=</span><span class="pln"> i</span><span class="pun">;</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            _1fd </span><span class="pun">+=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">pageNumber </span><span class="pun">-</span><span class="pln"> </span><span class="lit">1</span><span class="pun">)</span><span class="pln"> </span><span class="pun">*</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">pageSize</span><span class="pun">;</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        tr</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-rownumber"</span><span class="pun">).</span><span class="pln">html</span><span class="pun">(</span><span class="pln">_1fd</span><span class="pun">);</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">};</span><span class="pln">
            opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">).</span><span class="pln">remove</span><span class="pun">();</span><span class="pln">
            _1fa</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">);</span><span class="pln">
            _1fa</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">);</span><span class="pln">
            data</span><span class="pun">.</span><span class="pln">total </span><span class="pun">-=</span><span class="pln"> </span><span class="lit">1</span><span class="pun">;</span><span class="pln">
            data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">.</span><span class="pln">splice</span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在视图被呈现之前触发</span><span class="pln">
        onBeforeRender</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在视图呗呈现之后触发</span><span class="pln">
        onAfterRender</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">showFooter</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> footer </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="pln">target</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"getPanel"</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-footer"</span><span class="pun">);</span><span class="pln">
                footer</span><span class="pun">.</span><span class="pln">find</span><span class="pun">(</span><span class="str">"div.datagrid-cell-rownumber,div.datagrid-cell-check"</span><span class="pun">).</span><span class="pln">css</span><span class="pun">(</span><span class="str">"visibility"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"hidden"</span><span class="pun">);</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">};</span><span class="pln">
    </span><span class="com">//表格默认属性 以及事件(集成panel的属性和事件)</span><span class="pln">
    $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">defaults </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">extend</span><span class="pun">({},</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">fn</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">.</span><span class="pln">defaults</span><span class="pun">,</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        frozenColumns</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">,</span><span class="com">//同列属性,但是这些列将会被冻结在左侧</span><span class="pln">
        columns</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">undefined</span><span class="pun">,</span><span class="com">//数据表格列配置对象,详见列属性说明中更多的细节</span><span class="pln">
        fitColumns</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="com">//真正的自动展开/收缩列的大小,以适应网格的宽度,防止水平滚动</span><span class="pln">
        resizeHandle</span><span class="pun">:</span><span class="pln"> </span><span class="str">"right"</span><span class="pun">,</span><span class="com">//调整列的位置,可用的值有:'left','right','both'。在使用'right'的时候用户可以通过拖动右侧边缘的列标题调整列</span><span class="pln">
        autoRowHeight</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="com">//定义设置行的高度,根据该行的内容。设置为false可以提高负载性能</span><span class="pln">
        toolbar</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="com">//顶部工具栏的数据表格面板。可能的值:1) 一个数组,每个工具属性都和linkbutton一样。 2) 选择器指定的工具栏</span><span class="pln">
        striped</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="com">//是否显示斑马线效果</span><span class="pln">
        method</span><span class="pun">:</span><span class="pln"> </span><span class="str">"post"</span><span class="pun">,</span><span class="com">//该方法类型请求远程数据</span><span class="pln">
        nowrap</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="com">//如果为true,则在同一行中显示数据。设置为true可以提高加载性能</span><span class="pln">
        idField</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="com">//指明哪一个字段是标识字段</span><span class="pln">
        url</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="com">//指明哪一个字段是标识字段</span><span class="pln">
        data</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="com">//数据加载</span><span class="pln">
        loadMsg</span><span class="pun">:</span><span class="pln"> </span><span class="str">"Processing, please wait ..."</span><span class="pun">,</span><span class="com">//在从远程站点加载数据的时候显示提示消息</span><span class="pln">
        rownumbers</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="com">//如果为true,则显示一个行号列</span><span class="pln">
        singleSelect</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="com">//如果为true,则只允许选择一行</span><span class="pln">
        selectOnCheck</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="com">//如果为true,单击复选框将永远选择行。        如果为false,选择行将不选中复选框</span><span class="pln">
        checkOnSelect</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="com">//如果为true,当用户点击行的时候该复选框就会被选中或取消选中。   如果为false,当用户仅在点击该复选框的时候才会呗选中或取消</span><span class="pln">
        pagination</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="com">//如果为true,则在数据表格控件底部显示分页工具栏</span><span class="pln">
        pagePosition</span><span class="pun">:</span><span class="pln"> </span><span class="str">"bottom"</span><span class="pun">,</span><span class="com">//定义分页工具栏的位置。可用的值有:'top','bottom','both'。</span><span class="pln">
        pageNumber</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1</span><span class="pun">,</span><span class="com">//在设置分页属性的时候初始化页码</span><span class="pln">
        pageSize</span><span class="pun">:</span><span class="pln"> </span><span class="lit">10</span><span class="pun">,</span><span class="com">//在设置分页属性的时候初始化页面大小</span><span class="pln">
        pageList</span><span class="pun">:</span><span class="pln"> </span><span class="pun">[</span><span class="lit">10</span><span class="pun">,</span><span class="pln"> </span><span class="lit">20</span><span class="pun">,</span><span class="pln"> </span><span class="lit">30</span><span class="pun">,</span><span class="pln"> </span><span class="lit">40</span><span class="pun">,</span><span class="pln"> </span><span class="lit">50</span><span class="pun">],</span><span class="com">//在设置分页属性的时候初始化页面大小</span><span class="pln">
        queryParams</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{},</span><span class="com">//在请求远程数据的时候发送额外的参数</span><span class="pln">
        sortName</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">null</span><span class="pun">,</span><span class="com">//定义哪些列可以进行排序</span><span class="pln">
        sortOrder</span><span class="pun">:</span><span class="pln"> </span><span class="str">"asc"</span><span class="pun">,</span><span class="com">//定义列的排序顺序,只能是'asc'或'desc'</span><span class="pln">
        remoteSort</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="com">//定义从服务器对数据进行排序</span><span class="pln">
        showHeader</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">true</span><span class="pun">,</span><span class="com">//定义是否显示行头</span><span class="pln">
        showFooter</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">,</span><span class="com">//定义是否显示行脚</span><span class="pln">
        scrollbarSize</span><span class="pun">:</span><span class="pln"> </span><span class="lit">18</span><span class="pun">,</span><span class="com">//滚动条的宽度(当滚动条是垂直的时候)或高度(当滚动条是水平的时候)。</span><span class="pln">
        </span><span class="com">//返回样式如'background:red'。带2个参数的函数: rowIndex:该行索引从0开始  rowData:与此相对应的记录行</span><span class="pln">
        rowStyler</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//定义如何从远程服务器加载数据。返回false可以放弃本次请求动作。该函数接受以下参数:</span><span class="pln">
        </span><span class="com">//param:参数对象传递给远程服务器。</span><span class="pln">
        </span><span class="com">//success(data):当检索数据成功的时候会调用该回调函数。</span><span class="pln">
        </span><span class="com">//error():当检索数据失败的时候会调用该回调函数</span><span class="pln">
        loader</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">param</span><span class="pun">,</span><span class="pln"> success</span><span class="pun">,</span><span class="pln"> error</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">).</span><span class="pln">datagrid</span><span class="pun">(</span><span class="str">"options"</span><span class="pun">);</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">opts</span><span class="pun">.</span><span class="pln">url</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
            $</span><span class="pun">.</span><span class="pln">ajax</span><span class="pun">({</span><span class="pln">
                type</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">method</span><span class="pun">,</span><span class="pln"> url</span><span class="pun">:</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">url</span><span class="pun">,</span><span class="pln"> data</span><span class="pun">:</span><span class="pln"> param</span><span class="pun">,</span><span class="pln"> dataType</span><span class="pun">:</span><span class="pln"> </span><span class="str">"json"</span><span class="pun">,</span><span class="pln"> success</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    success</span><span class="pun">(</span><span class="pln">data</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">},</span><span class="pln"> error</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    error</span><span class="pun">.</span><span class="pln">apply</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">,</span><span class="pln"> arguments</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">});</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//返回过滤数据显示。该函数带一个参数'data'用来指向源数据(即:获取的数据源,比如Json对象)。您可以改变源数据的标准数据格式。这个函数必须返回包含'total'和'rows'属性的标准数据对象</span><span class="pln">
        loadFilter</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">data</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">typeof</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">length </span><span class="pun">==</span><span class="pln"> </span><span class="str">"number"</span><span class="pln"> </span><span class="pun">&&</span><span class="pln"> </span><span class="kwd">typeof</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">splice </span><span class="pun">==</span><span class="pln"> </span><span class="str">"function"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">{</span><span class="pln"> total</span><span class="pun">:</span><span class="pln"> data</span><span class="pun">.</span><span class="pln">length</span><span class="pun">,</span><span class="pln"> rows</span><span class="pun">:</span><span class="pln"> data </span><span class="pun">};</span><span class="pln">
            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> data</span><span class="pun">;</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//定义在编辑行的时候使用的编辑器</span><span class="pln">
        editors</span><span class="pun">:</span><span class="pln"> editors</span><span class="pun">,</span><span class="pln">
 
        finder</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
            getTr</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">,</span><span class="pln"> step</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                type </span><span class="pun">=</span><span class="pln"> type </span><span class="pun">||</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">;</span><span class="pln">
                step </span><span class="pun">=</span><span class="pln"> step </span><span class="pun">||</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _209 </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">);</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> dc </span><span class="pun">=</span><span class="pln"> _209</span><span class="pun">.</span><span class="pln">dc</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> opts </span><span class="pun">=</span><span class="pln"> _209</span><span class="pun">.</span><span class="pln">options</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">step </span><span class="pun">==</span><span class="pln"> </span><span class="lit">0</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> tr1 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">,</span><span class="pln"> </span><span class="lit">1</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">var</span><span class="pln"> tr2 </span><span class="pun">=</span><span class="pln"> opts</span><span class="pun">.</span><span class="pln">finder</span><span class="pun">.</span><span class="pln">getTr</span><span class="pun">(</span><span class="pln">target</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> type</span><span class="pun">,</span><span class="pln"> </span><span class="lit">2</span><span class="pun">);</span><span class="pln">
                    </span><span class="kwd">return</span><span class="pln"> tr1</span><span class="pun">.</span><span class="pln">add</span><span class="pun">(</span><span class="pln">tr2</span><span class="pun">);</span><span class="pln">
                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"body"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">var</span><span class="pln"> tr </span><span class="pun">=</span><span class="pln"> $</span><span class="pun">(</span><span class="str">"#"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> _209</span><span class="pun">.</span><span class="pln">rowIdPrefix </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> step </span><span class="pun">+</span><span class="pln"> </span><span class="str">"-"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> rowIndex</span><span class="pun">);</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(!</span><span class="pln">tr</span><span class="pun">.</span><span class="pln">length</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            tr </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">step </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">">table>tbody>tr[datagrid-row-index="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> rowIndex </span><span class="pun">+</span><span class="pln"> </span><span class="str">"]"</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                        </span><span class="kwd">return</span><span class="pln"> tr</span><span class="pun">;</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"footer"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">step </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">">table>tbody>tr[datagrid-row-index="</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> rowIndex </span><span class="pun">+</span><span class="pln"> </span><span class="str">"]"</span><span class="pun">);</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                            </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"selected"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">step </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">">table>tbody>tr.datagrid-row-selected"</span><span class="pun">);</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"last"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                    </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">step </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">">table>tbody>tr[datagrid-row-index]:last"</span><span class="pun">);</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                    </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"allbody"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                        </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">step </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">body2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">">table>tbody>tr[datagrid-row-index]"</span><span class="pun">);</span><span class="pln">
                                    </span><span class="pun">}</span><span class="pln"> </span><span class="kwd">else</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                        </span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="pln">type </span><span class="pun">==</span><span class="pln"> </span><span class="str">"allfooter"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                                            </span><span class="kwd">return</span><span class="pln"> </span><span class="pun">(</span><span class="pln">step </span><span class="pun">==</span><span class="pln"> </span><span class="lit">1</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer1 </span><span class="pun">:</span><span class="pln"> dc</span><span class="pun">.</span><span class="pln">footer2</span><span class="pun">).</span><span class="pln">find</span><span class="pun">(</span><span class="str">">table>tbody>tr[datagrid-row-index]"</span><span class="pun">);</span><span class="pln">
                                        </span><span class="pun">}</span><span class="pln">
                                    </span><span class="pun">}</span><span class="pln">
                                </span><span class="pun">}</span><span class="pln">
                            </span><span class="pun">}</span><span class="pln">
                        </span><span class="pun">}</span><span class="pln">
                    </span><span class="pun">}</span><span class="pln">
                </span><span class="pun">}</span><span class="pln">
            </span><span class="pun">},</span><span class="pln">
            getRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">_20a</span><span class="pun">,</span><span class="pln"> p</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
                </span><span class="kwd">var</span><span class="pln"> _20b </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">typeof</span><span class="pln"> p </span><span class="pun">==</span><span class="pln"> </span><span class="str">"object"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">?</span><span class="pln"> p</span><span class="pun">.</span><span class="pln">attr</span><span class="pun">(</span><span class="str">"datagrid-row-index"</span><span class="pun">)</span><span class="pln"> </span><span class="pun">:</span><span class="pln"> p</span><span class="pun">;</span><span class="pln">
                </span><span class="kwd">return</span><span class="pln"> $</span><span class="pun">.</span><span class="pln">data</span><span class="pun">(</span><span class="pln">_20a</span><span class="pun">,</span><span class="pln"> </span><span class="str">"datagrid"</span><span class="pun">).</span><span class="pln">data</span><span class="pun">.</span><span class="pln">rows</span><span class="pun">[</span><span class="pln">parseInt</span><span class="pun">(</span><span class="pln">_20b</span><span class="pun">)];</span><span class="pln">
            </span><span class="pun">}</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//定义数据表格的视图</span><span class="pln">
        view</span><span class="pun">:</span><span class="pln"> view</span><span class="pun">,</span><span class="pln">
        </span><span class="com">//在载入请求数据数据之前触发,如果返回false可终止载入数据操作</span><span class="pln">
        onBeforeLoad</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">param</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在数据加载成功的时候触发</span><span class="pln">
        onLoadSuccess</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在数据加载成功的时候触发</span><span class="pln">
        onLoadError</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">()</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户点击一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:点击的行的索引值,该索引值从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于点击行的记录</span><span class="pln">
        onClickRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户双击一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:点击的行的索引值,该索引值从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于点击行的记录</span><span class="pln">
        onDblClickRow</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> onDblClickRow</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户点击一个单元格的时候触发</span><span class="pln">
        onClickCell</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户双击一个单元格的时候触发</span><span class="pln">
        onDblClickCell</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">,</span><span class="pln"> value</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户排序一列的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//sort:排序列字段名称。</span><span class="pln">
        </span><span class="com">//order:排序列的顺序(ASC或DESC)</span><span class="pln">
        onSortColumn</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">sort</span><span class="pun">,</span><span class="pln"> order</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户调整列大小的时候触发</span><span class="pln">
        onResizeColumn</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">field</span><span class="pun">,</span><span class="pln"> width</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户选择一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:选择的行的索引值,索引从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于所选行的记录</span><span class="pln">
        onSelect</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//        在用户选择一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:选择的行的索引值,索引从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于所选行的记录</span><span class="pln">
        onUnselect</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户选择所有行的时候触发</span><span class="pln">
        onSelectAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rows</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户取消选择所有行的时候触发</span><span class="pln">
        onUnselectAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rows</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//        在用户勾选一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:选中的行索引,索引从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于所选行的记录</span><span class="pln">
        onCheck</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//        在用户取消勾选一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:选中的行索引,索引从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于取消勾选行的记录</span><span class="pln">
        onUncheck</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户勾选所有行的时候触发</span><span class="pln">
        onCheckAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rows</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在用户取消勾选所有行的时候触发</span><span class="pln">
        onUncheckAll</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rows</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//        在用户开始编辑一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:编辑行的索引,索引从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于编辑行的记录</span><span class="pln">
        onBeforeEdit</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//        在用户完成编辑一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:编辑行的索引,索引从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于完成编辑的行的记录。</span><span class="pln">
        </span><span class="com">//changes:更改后的字段(键)/值对</span><span class="pln">
        onAfterEdit</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">,</span><span class="pln"> changes</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//        在用户取消编辑一行的时候触发,参数包括:</span><span class="pln">
        </span><span class="com">//rowIndex:编辑行的索引,索引从0开始。</span><span class="pln">
        </span><span class="com">//rowData:对应于编辑行的记录</span><span class="pln">
        onCancelEdit</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在鼠标右击数据表格表格头的时候触发</span><span class="pln">
        onHeaderContextMenu</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">,</span><span class="pln"> field</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">},</span><span class="pln">
        </span><span class="com">//在鼠标右击一行记录的时候触发</span><span class="pln">
        onRowContextMenu</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(</span><span class="pln">e</span><span class="pun">,</span><span class="pln"> rowIndex</span><span class="pun">,</span><span class="pln"> rowData</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span><span class="pln">
        </span><span class="pun">}</span><span class="pln">
    </span><span class="pun">});</span><span class="pln">
</span><span class="pun">})(</span><span class="pln">jQuery</span><span class="pun">);</span>

实例代码:

<span class="pun">这里只是对</span><span class="pln">grid</span><span class="pun">进行的单个插件引入的例子进行简单的说明</span><span class="pln">
</span><span class="pun"><!</span><span class="pln">DOCTYPE html</span><span class="pun">></span><span class="pln">
</span><span class="str"><html></span><span class="pln">
</span><span class="str"><head></span><span class="pln">
    </span><span class="pun"><</span><span class="pln">meta charset</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pun">></span><span class="pln">
    </span><span class="str"><title></span><span class="typ">Frozen</span><span class="pln"> </span><span class="typ">Columns</span><span class="pln"> </span><span class="kwd">in</span><span class="pln"> </span><span class="typ">DataGrid</span><span class="pln"> </span><span class="pun">-</span><span class="pln"> jQuery </span><span class="typ">EasyUI</span><span class="pln"> </span><span class="typ">Demo</span><span class="pun"><</span><span class="str">/title>
    <link rel="stylesheet" type="text/</span><span class="pln">css</span><span class="str">" href="</span><span class="pun">../../</span><span class="pln">themes</span><span class="pun">/</span><span class="kwd">default</span><span class="pun">/</span><span class="pln">easyui</span><span class="pun">.</span><span class="pln">css</span><span class="str">">
    <link rel="</span><span class="pln">stylesheet</span><span class="str">" type="</span><span class="pln">text</span><span class="pun">/</span><span class="pln">css</span><span class="str">" href="</span><span class="pun">../../</span><span class="pln">themes</span><span class="pun">/</span><span class="pln">icon</span><span class="pun">.</span><span class="pln">css</span><span class="str">">
    <link rel="</span><span class="pln">stylesheet</span><span class="str">" type="</span><span class="pln">text</span><span class="pun">/</span><span class="pln">css</span><span class="str">" href="</span><span class="pun">../</span><span class="pln">demo</span><span class="pun">.</span><span class="pln">css</span><span class="str">">
     
    <script type="</span><span class="pln">text</span><span class="pun">/</span><span class="pln">javascript</span><span class="str">" src="</span><span class="pun">../../</span><span class="pln">jquery</span><span class="pun">-</span><span class="lit">1.8</span><span class="pun">.</span><span class="lit">0.min</span><span class="pun">.</span><span class="pln">js</span><span class="str">"></script>
    <script src="</span><span class="pun">../../</span><span class="pln">plugins2</span><span class="pun">/</span><span class="pln">jquery</span><span class="pun">.</span><span class="pln">parser</span><span class="pun">.</span><span class="pln">js</span><span class="str">"></script>
    
    <script src="</span><span class="pun">../../</span><span class="pln">plugins2</span><span class="pun">/</span><span class="pln">jquery</span><span class="pun">.</span><span class="pln">panel</span><span class="pun">.</span><span class="pln">js</span><span class="str">"></script>
     <script src="</span><span class="pun">../../</span><span class="pln">plugins</span><span class="pun">/</span><span class="pln">jquery</span><span class="pun">.</span><span class="pln">resizable</span><span class="pun">.</span><span class="pln">js</span><span class="str">"></script>
    <script src="</span><span class="pun">../../</span><span class="pln">plugins2</span><span class="pun">/</span><span class="pln">jquery</span><span class="pun">.</span><span class="pln">linkbutton</span><span class="pun">.</span><span class="pln">js</span><span class="str">"></script>
    <script src="</span><span class="pun">../../</span><span class="pln">plugins</span><span class="pun">/</span><span class="pln">jquery</span><span class="pun">.</span><span class="pln">pagination</span><span class="pun">.</span><span class="pln">js</span><span class="str">"></script>
    <script src="</span><span class="pun">../../</span><span class="pln">plugins2</span><span class="pun">/</span><span class="pln">jquery</span><span class="pun">.</span><span class="pln">datagrid</span><span class="pun">.</span><span class="pln">js</span><span class="str">"></script>
</head>
<body>
    <h2>Frozen Columns in DataGrid</h2>
    <div class="</span><span class="pln">demo</span><span class="pun">-</span><span class="pln">info</span><span class="str">">
        <div class="</span><span class="pln">demo</span><span class="pun">-</span><span class="pln">tip icon</span><span class="pun">-</span><span class="pln">tip</span><span class="str">"></div>
        <div>You can freeze some columns that can't scroll out of view.</div>
    </div>
    <div style="</span><span class="pln">margin</span><span class="pun">:</span><span class="lit">10px</span><span class="pln"> </span><span class="lit">0</span><span class="pun">;</span><span class="str">"></div>
    <table class="</span><span class="pln">easyui</span><span class="pun">-</span><span class="pln">datagrid</span><span class="str">" title="</span><span class="typ">Frozen</span><span class="pln"> </span><span class="typ">Columns</span><span class="pln"> </span><span class="kwd">in</span><span class="pln"> </span><span class="typ">DataGrid</span><span class="str">" style="</span><span class="pln">width</span><span class="pun">:</span><span class="lit">700px</span><span class="pun">;</span><span class="pln">height</span><span class="pun">:</span><span class="lit">250px</span><span class="str">"
            data-options="</span><span class="pln">rownumbers</span><span class="pun">:</span><span class="kwd">true</span><span class="pun">,</span><span class="pln">singleSelect</span><span class="pun">:</span><span class="kwd">true</span><span class="pun">,</span><span class="pln">url</span><span class="pun">:</span><span class="str">'datagrid_data1.aspx'">
        <thead data-options="</span><span class="pln">frozen</span><span class="pun">:</span><span class="kwd">true</span><span class="str">">
            <tr>
                <th data-options="</span><span class="pln">field</span><span class="pun">:</span><span class="str">'itemid'</span><span class="pun">,</span><span class="pln">width</span><span class="pun">:</span><span class="lit">100</span><span class="str">">Item ID</th>
                <th data-options="</span><span class="pln">field</span><span class="pun">:</span><span class="str">'productid'</span><span class="pun">,</span><span class="pln">width</span><span class="pun">:</span><span class="lit">120</span><span class="str">">Product</th>
            </tr>
        </thead>
        <thead>
            <tr>
                <th data-options="</span><span class="pln">field</span><span class="pun">:</span><span class="str">'listprice'</span><span class="pun">,</span><span class="pln">width</span><span class="pun">:</span><span class="lit">90</span><span class="pun">,</span><span class="pln">align</span><span class="pun">:</span><span class="str">'right'">List Price</th>
                <th data-options="</span><span class="pln">field</span><span class="pun">:</span><span class="str">'unitcost'</span><span class="pun">,</span><span class="pln">width</span><span class="pun">:</span><span class="lit">90</span><span class="pun">,</span><span class="pln">align</span><span class="pun">:</span><span class="str">'right'">Unit Cost</th>
                <th data-options="</span><span class="pln">field</span><span class="pun">:</span><span class="str">'attr1'</span><span class="pun">,</span><span class="pln">width</span><span class="pun">:</span><span class="lit">250</span><span class="str">">Attribute</th>
                <th data-options="</span><span class="pln">field</span><span class="pun">:</span><span class="str">'status'</span><span class="pun">,</span><span class="pln">width</span><span class="pun">:</span><span class="lit">60</span><span class="pun">,</span><span class="pln">align</span><span class="pun">:</span><span class="str">'center'">Status</th>
            </tr>
        </thead>
    </table>
 
</body>
</html></span>
赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

注册