看下效果吧:HTML - 模板代碼: 復(fù)制代碼 代碼如下: <table id="test"> <tr class="header"> <td style="width: 100px;" sort='true'> 姓名 </td> " /> 99国产视频,久久av一区二区三区,亚洲三区在线观看

中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

一個(gè)可綁定數(shù)據(jù)源的jQuery數(shù)據(jù)表格插件

固定表頭
列寬可調(diào)整
單擊列頭可排序
雙擊單元格可編輯
可綁定數(shù)據(jù)源

看下效果吧:
HTML - 模板代碼:
復(fù)制代碼 代碼如下:
<table id="test">
<tr class="header">
<td style="width: 100px;" sort='true'>
姓名
</td>
<td style="width: 100px;" sort='true'>
性別
</td>
<td style="width: 100px;" sort='true'>
年齡
</td>
<td style="width:200px;" sort='true'>
住址
</td>
</tr>
<tr class="itemtemplate">
<td editable='true'>
{姓名}
</td>
<td editable='true'>
{性別}
</td>
<td editable='true'>
{年齡}
</td>
<td editable='true'>
{住址}
</td>
</tr>
</table>

jsascript代碼:
復(fù)制代碼 代碼如下:
//測試數(shù)據(jù)
var dataJsonStr='{tablename:"",rows:[{"姓名":"曹操","性別":"男","年齡":"51","住址":"許昌"},{"姓名":"諸葛亮","性別":"男","年齡":"40","住址":"南陽"},{"姓名":"周瑜","性別":"男","年齡":"40","住址":"江東"},{"姓名":"大喬","性別":"女","年齡":"30","住址":"江東"},{"姓名":"小喬","性別":"女","年齡":"28","住址":"江東"},{"姓名":"曹操","性別":"男","年齡":"51","住址":"許昌"},{"姓名":"諸葛亮","性別":"男","年齡":"40","住址":"南陽"},{"姓名":"周瑜","性別":"男","年齡":"40","住址":"江東"},{"姓名":"大喬","性別":"女","年齡":"30","住址":"江東"},{"姓名":"小喬","性別":"女","年齡":"28","住址":"江東"}]}';
//清空數(shù)據(jù)
$('#test').DataGridClear();
//設(shè)定行樣式
$('#test').DataGridSetItemClass("tr1","tr2","trhover");
//綁定數(shù)據(jù),并設(shè)置寬度高度
$('#test').DataGrid("100%",200,dataJsonStr);

結(jié)構(gòu)示意圖:

如何根據(jù)HTML模板創(chuàng)建DataGrid整個(gè)結(jié)構(gòu)?
1.首先創(chuàng)建 表頭 主體 等各區(qū)域:
復(fù)制代碼 代碼如下:
TableBody.addClass('TableBody');
TableBody.wrap("<div id='"+MyTableId+"' class='houfeng-table'></div>");
var MyTable=$('#'+MyTableId);
TableBody.data('MyTable',MyTable);
TableBody.before("<table class='TableHead' ></table>");
var TableHead=MyTable.find(".TableHead");
TableBody.data('TableHead',TableHead);
TableBody.wrap('<div class="TableBodyArea"></div>');
TableHead.wrap("<div class='TableHeadArea' onselectstart='return false;'></div>");
var TableBodyArea=MyTable.find('.TableBodyArea');
var TableHeadArea=MyTable.find('.TableHeadArea');
TableBody.data('TableBodyArea',TableBodyArea);
TableBody.data('TableHeadArea',TableHeadArea);

上面代代中紅色高亮 TableBody 為表主體, TableHead 為表頭
2.創(chuàng)建表頭
復(fù)制代碼 代碼如下:
TableBody.find('.header').clone().prependTo(TableHead);

TableBody 其實(shí)便是HTML模板Table , 將 .header 的行移到到表頭表格中作為表頭.
3.創(chuàng)建表主體
創(chuàng)建表主體,其實(shí)便是根據(jù)數(shù)據(jù)源及模板 循環(huán)創(chuàng)建每一行 , 這里用了 上篇文章提到的 Repeater 來創(chuàng)建, 詳細(xì) 請看用Javascript實(shí)現(xiàn)Repeater.
4.處理當(dāng)列過多時(shí)橫向滾動條的問題
復(fù)制代碼 代碼如下:
TableBodyArea.scroll(function (){
var ml=0-parseInt(TableBodyArea.attr('scrollLeft'));
TableHead.css('margin-left',ml);
});

TableBodyArea 為TableBody外包裹的一個(gè)Div
5.如何實(shí)現(xiàn)單元格編輯
雙擊td時(shí)在td中動態(tài)插入一個(gè)文件本框?yàn)閷d的innerHTML給文本框,在文本焦點(diǎn)失去時(shí),將文本框值賦給td的innerHTML,將移除文本框 代碼如下:
復(fù)制代碼 代碼如下:
TableBody.find('td').live('dblclick',function(){
var td=$(this);
if(td.attr('editable')=='true')
{
var text=td.text();
var html="<input type='text' class='TdEditTextBox' value='"+$.trim(text)+"' />";
td.html(html);
td.addClass("tdediting");
//
$(this).find('.TdEditTextBox').focus().focus().focus().focus();
$(this).find('.TdEditTextBox').blur(function(){
var val=$(this).val();
td.html(val);
td.removeClass("tdediting");
});
}
});

6. 如何排序:
由時(shí)間問題請容我下回分解!!
源碼下載: /201007/yuanma/DataGrid.rar
作者:houfeng
出處:http://houfeng.cnblogs.com

JavaScript技術(shù)一個(gè)可綁定數(shù)據(jù)源的jQuery數(shù)據(jù)表格插件,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲三区在线观看 | 久久久av | 久久91av| 国产日韩精品在线 | 日本特黄a级高清免费大片 成年人黄色小视频 | 国产成人免费一区二区60岁 | 免费黄色在线观看 | 国产精品永久在线观看 | 中文字幕一区二区三区四区五区 | www一级片 | 精品国产乱码一区二区三区a | 九九九久久国产免费 | 国产精品久久久久久二区 | 人人干人人玩 | 深夜福利影院 | 欧美在线观看网站 | 99亚洲精品| 91 久久| 日韩在线免费观看视频 | 可以在线看的黄色网址 | 国产中文字幕在线 | 成人日韩av| 自拍视频网站 | 97日日碰人人模人人澡分享吧 | 台湾a级理论片在线观看 | 九九精品影院 | 亚洲性视频 | 欧美在线一区二区三区 | 99精品网站 | 欧美精品一区二区三区在线播放 | 三级黄色片在线观看 | 在线国产中文字幕 | 国产精品爱久久久久久久 | 免费不卡av| 国产一区二区在线免费观看 | 伊人网综合在线 | 久久视频精品 | 亚洲精品小视频在线观看 | 精品在线一区二区 | 亚洲精品国产第一综合99久久 | 欧美天堂在线 |