亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTC > 正文

Web上功能強大的DbGrid表格HTC組件[只需在Table中指定樣式就可以完成多種功能可擴展]

2020-01-31 16:06:26
字體:
來源:轉載
供稿:網友

Grid.htm

復制代碼 代碼如下:

<style>
INPUT
{
DefineINPUTOnClick:expression(this.onclick=function(){if(this.type=="button"){this.style.color=chooseColor();}});
}
</style>
<script>
var iGridRowCount=0;
var iGridColCount=0;
function createGrid()
{
DivID.innerHTML="";
if(iGridRowCount==0){iGridRowCount=5;}
if(iGridColCount==0){iGridColCount=5;}
var vTable=document.createElement("table");
vTable.style.behavior="url(Grid.htc)";
if(defineGridBgColorID.style.color)
{vTable.defineGridBgColor=defineGridBgColorID.style.color;}
if(defineFirstRowBgColorID.style.color)
{vTable.defineFirstRowBgColor=defineFirstRowBgColorID.style.color;}
if(defineFirstColBgColorID.style.color)
{vTable.defineFirstColBgColor=defineFirstColBgColorID.style.color;}
if(defineCurRowBgColorID.style.color)
{vTable.defineCurRowBgColor=defineCurRowBgColorID.style.color;}
if(defineCurColBgColorID.style.color)
{vTable.defineCurColBgColor=defineCurColBgColorID.style.color;}
if(defineCurEditBgColorID.style.color)
{vTable.defineCurEditBgColor=defineCurEditBgColorID.style.color;}
for(mIndex=0;mIndex<iGridRowCount;mIndex++)
{
var vTr=vTable.insertRow(mIndex);
for(nIndex=0;nIndex<iGridColCount;nIndex++)
{
vTd=vTr.insertCell(nIndex);
vTd.innerText="行"+mIndex+"列"+nIndex;
}
}
DivID.appendChild(vTable);
}
function chooseColor()
{
var strColor=DlgHelper.ChooseColorDlg();
strColor=strColor.toString(16);
if(strColor.length<6)
{
var sTempString="000000".substring(0,6-strColor.length);
strColor=sTempString.concat(strColor);
}
return strColor;
}
</script>
<div id="DivID"></div>
<object id="DlgHelper" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px"></object>
<fieldset>
<button onclick="window.confirm('已實現功能')">Grid參數區</button><br>
<input type=button value="表格背景" id="defineGridBgColorID"><br>
<input type=button value="頭行背景" id="defineFirstRowBgColorID"><br>
<input type=button value="頭列背景" id="defineFirstColBgColorID"><br>
<input type=button value="當前選擇行背景" id="defineCurRowBgColorID"><br>
<input type=button value="當前選擇列背景" id="defineCurColBgColorID"><br>
<input type=button value="當前選擇編輯單元格背景" id="defineCurEditBgColorID"><br>
<button onclick="window.confirm('未實現功能')">保留功能區</button><br>
<input type=text value="" id="defineGridRowCount"><button onclick="iGridRowCount=defineGridRowCount.value;">行數</button><br>
<input type=text value="" id="defineGridColCount"><button onclick="iGridColCount=defineGridColCount.value;">列數</button><br>
<input type=radio>是<input type=radio>否啟動行調整<br>
<input type=radio>是<input type=radio>否啟動列調整<br>
<input type=radio>是<input type=radio>否啟動單元格編輯<br>
<button onclick="createGrid()">創建表格</button><br>
</fieldset>

Grid.htc
復制代碼 代碼如下:

<public:property name="defineGridBgColor">
<public:property name="defineFirstRowBgColor">
<public:property name="defineFirstColBgColor">
<public:property name="defineCurRowBgColor">
<public:property name="defineCurColBgColor">
<public:property name="defineCurEditBgColor">
<public:attach event=oncontentready onevent="initGrid()">
<script>
//常量[可以設置為屬性]
var rgbGridBgColor="#E1E4EC";//表格背景
var rgbFirstRowBgColor="#6699CC";//頭行背景
var rgbFirstColBgColor="#6699CC";//頭列背景
var rgbCurRowBgColor="#BBCCDD";//當前選擇行背景
var rgbCurColBgColor="#BBCCDD";//當前選擇列背景
var rgbCurEditBgColor="#FFFFFF";//當前選擇編輯單元格背景
//表格列數
var iColCount=0;
//表格行數
var iRowCount=0;
//當前選擇行
var iCurRowIndex=0;
//當前選擇列
var iCurColIndex=0;
var bIsDragRow=false;//行是否拖動狀態
var bIsDragCol=false;//列是否拖動狀態
var iDragHistoryRowIndex=0;//拖動前原始行位置索引
var iDragCurrentRowIndex=0;//拖動后目的行位置索引
var iDragHistoryColIndex=0;//拖動前原始列位置索引
var iDragCurrentColIndex=0;//拖動后目的列位置索引
function initGrid()
{
//屬性獲取
if(defineGridBgColor)
{rgbGridBgColor=defineGridBgColor;}else{rgbGridBgColor="#E1E4EC";}
if(defineFirstRowBgColor)
{rgbFirstRowBgColor=defineFirstRowBgColor;}else{rgbFirstRowBgColor="#6699CC";}
if(defineFirstColBgColor)
{rgbFirstColBgColor=defineFirstColBgColor;}else{rgbFirstColBgColor="#6699CC";}
if(defineCurRowBgColor)
{rgbCurRowBgColor=defineCurRowBgColor;}else{rgbCurRowBgColor="#BBCCDD";}
if(defineCurColBgColor)
{rgbCurColBgColor=defineCurColBgColor;}else{rgbCurColBgColor="#BBCCDD";}
if(defineCurEditBgColor)
{rgbCurEditBgColor=defineCurEditBgColor;}else{rgbCurEditBgColor="#FFFFFF";}
//初始化常量
iColCount=element.rows(0).cells.length;
iRowCount=element.rows.length;
//設置表格樣式
element.style.backgroundColor=rgbGridBgColor;
element.border="0";
element.cellSpacing="1";
element.cellPadding="0";
element.width="80%";
element.style.borderLeft="1px solid #000000";
element.style.borderBottom="1px solid #000000";
//設置單元格樣式
for(iRow=0;iRow<iRowCount;iRow++)
{
for(iCol=0;iCol<iColCount;iCol++)
{
element.rows(iRow).cells(iCol).style.borderTop="1px solid #000000";
element.rows(iRow).cells(iCol).style.borderRight="1px solid #000000";
}
}
//設置頭行樣式
for(iCol=0;iCol<iColCount;iCol++)
{
element.rows(0).cells(iCol).style.backgroundColor=rgbFirstRowBgColor;
}
//設置頭列樣式
for(iRow=1;iRow<iRowCount;iRow++)
{
element.rows(iRow).cells(0).style.backgroundColor=rgbFirstColBgColor;
}
//設置編輯單元格
for(mIndex=1;mIndex<iRowCount;mIndex++)
{
for(nIndex=1;nIndex<iColCount;nIndex++)
{
var vText=element.rows(mIndex).cells(nIndex).innerHTML;
element.rows(mIndex).cells(nIndex).innerHTML="<div contentEditable=false>"+vText+"</div>";
element.rows(mIndex).cells(nIndex).children[0].attachEvent("onclick",onEditTrue);
element.rows(mIndex).cells(nIndex).children[0].attachEvent("onblur",onEditFalse);
}
}
//綁定列事件
for(iCol=1;iCol<iColCount;iCol++)
{
element.rows(0).cells(iCol).attachEvent("onmouseup",onColHeaderMouseDown);
}
//綁定行事件
for(iRow=1;iRow<iRowCount;iRow++)
{
element.rows(iRow).attachEvent("onmouseup",onRowHeaderMouseDown);
}
//綁定事件方法
element.attachEvent("onmousedown",onMouseDown);
element.attachEvent("onmousemove",onMouseMove);
element.attachEvent("onmouseup",onMouseUp);
element.attachEvent("onselectstart",onSelectStart);
}
//按下列
function onColHeaderMouseDown()
{
iCurColIndex=window.event.srcElement.cellIndex;
onColHeaderMouseDownColor(iCurColIndex);
}
//按下行
function onRowHeaderMouseDown()
{
iCurRowIndex=window.event.srcElement.parentElement.rowIndex;
onRowHeaderMouseDownColor(iCurRowIndex);
}
//啟動編輯單元格
function onEditTrue()
{
var vEditObject=window.event.srcElement;
vEditObject.contentEditable=true;
vEditObject.runtimeStyle.backgroundColor=rgbCurEditBgColor;
}
//禁止編輯單元格
function onEditFalse()
{
var vEditObject=window.event.srcElement;
vEditObject.contentEditable=false;
vEditObject.runtimeStyle.backgroundColor="transparent";
}
//Grid鼠標按下
function onMouseDown()
{
if(window.event.srcElement.tagName.toUpperCase()=="TD")
{
if(window.event.srcElement.cellIndex==0)
{
bIsDragRow=true;
iDragHistoryRowIndex=window.event.srcElement.parentElement.rowIndex;
}
if(window.event.srcElement.parentElement.rowIndex==0)
{
bIsDragCol=true;
iDragHistoryColIndex=window.event.srcElement.cellIndex;
}
}
}
//Grid鼠標移動
function onMouseMove()
{
if(bIsDragRow==true)
{
//拖動行模擬層處理.
}
if(bIsDragCol==true)
{
//拖動列模擬層處理.
}
}
//Grid鼠標抬起
function onMouseUp()
{
if(bIsDragRow==true)
{
if(window.event.srcElement.tagName.toUpperCase()=="TD")
{
if(window.event.srcElement.cellIndex==0)
{
iDragCurrentRowIndex=window.event.srcElement.parentElement.rowIndex;
if(iDragHistoryRowIndex!=0&&iDragCurrentRowIndex!=0)
{
moveRow(iDragHistoryRowIndex,iDragCurrentRowIndex);
}
}
}
}
if(bIsDragCol==true)
{
if(window.event.srcElement.tagName.toUpperCase()=="TD")
{
if(window.event.srcElement.parentElement.rowIndex==0)
{
iDragCurrentColIndex=window.event.srcElement.cellIndex;
if(iDragHistoryColIndex!=0&&iDragCurrentColIndex!=0)
{
moveCol(iDragHistoryColIndex,iDragCurrentColIndex);
}
}
}
}
bIsDragRow=false;
bIsDragCol=false;
}
//Grid鼠標移出
function onMouseOut()
{
if(bIsDragRow==true)
{
bIsDragRow=false;
}
if(bIsDragCol==true)
{
bIsDragCol=false;
}
}
//Grid選擇開始
function onSelectStart()
{
return false;
}
//庫
//移動行
function moveRow(iFromIndex,iToIndex)
{
var strFromArray=new Array(iColCount);
var strToArray=new Array(iColCount);
for(mIndex=0;mIndex<iColCount;mIndex++)
{
strFromArray[mIndex]=element.rows(iFromIndex).cells(mIndex).innerHTML;
strToArray[mIndex]=element.rows(iToIndex).cells(mIndex).innerHTML;
}
for(nIndex=0;nIndex<iColCount;nIndex++)
{
element.rows(iFromIndex).cells(nIndex).innerHTML=strToArray[nIndex];
element.rows(iToIndex).cells(nIndex).innerHTML=strFromArray[nIndex];
}
onRowHeaderMouseDownColor(iToIndex);
cellAttachEvent();
}
//移動列
function moveCol(iFromIndex,iToIndex)
{
var strFromArray=new Array(iRowCount);
var strToArray=new Array(iRowCount);
for(mIndex=0;mIndex<iRowCount;mIndex++)
{
strFromArray[mIndex]=element.rows(mIndex).cells(iFromIndex).innerHTML;
strToArray[mIndex]=element.rows(mIndex).cells(iToIndex).innerHTML;
}
for(nIndex=0;nIndex<iRowCount;nIndex++)
{
element.rows(nIndex).cells(iFromIndex).innerHTML=strToArray[nIndex];
element.rows(nIndex).cells(iToIndex).innerHTML=strFromArray[nIndex];
}
onColHeaderMouseDownColor(iToIndex);
cellAttachEvent();
}
//行按下變化
function onRowHeaderMouseDownColor(pCurRowIndex)
{
clearClient();
for(kIndex=1;kIndex<iColCount;kIndex++)
{
element.rows(pCurRowIndex).cells(kIndex).bgColor=rgbCurRowBgColor;
}
}
//列按下變化
function onColHeaderMouseDownColor(pCurColIndex)
{
clearClient();
for(kIndex=1;kIndex<iRowCount;kIndex++)
{
element.rows(kIndex).cells(pCurColIndex).bgColor=rgbCurColBgColor;
}
}
//清除客戶區
function clearClient()
{
for(mIndex=1;mIndex<iRowCount;mIndex++)
{
for(nIndex=1;nIndex<iColCount;nIndex++)
{
element.rows(mIndex).cells(nIndex).bgColor="transparent";
}
}
}
//單元格事件綁定
function cellAttachEvent()
{
for(mIndex=1;mIndex<iRowCount;mIndex++)
{
for(nIndex=1;nIndex<iColCount;nIndex++)
{
element.rows(mIndex).cells(nIndex).children[0].attachEvent("onclick",onEditTrue);
element.rows(mIndex).cells(nIndex).children[0].attachEvent("onblur",onEditFalse);
}
}
}
</script>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品电影一区二区| 欧洲精品毛片网站| 日韩在线免费av| 亚洲欧美日韩天堂一区二区| 国产欧美一区二区白浆黑人| 日韩欧美在线视频日韩欧美在线视频| 久久99精品久久久久久琪琪| 91丨九色丨国产在线| 国产精品日日摸夜夜添夜夜av| 国产精品久久一区| 亚洲r级在线观看| 久久精品国产2020观看福利| 国产69精品久久久久久| 38少妇精品导航| 91精品91久久久久久| 亚洲第一av网| 91在线视频九色| 国产精品色午夜在线观看| 麻豆乱码国产一区二区三区| 亚洲欧美成人一区二区在线电影| 精品久久久久久久中文字幕| 成人a在线视频| 亚洲人成在线观看网站高清| 精品国产一区二区在线| 国产极品jizzhd欧美| 一区二区三区国产视频| 欧美日韩高清在线观看| 国产综合视频在线观看| 91在线直播亚洲| 亚洲精品综合精品自拍| 国产精品入口免费视频一| 中文字幕日韩欧美在线视频| 国产精品av在线播放| 欧美日韩亚洲精品内裤| 北条麻妃一区二区三区中文字幕| 国产精品稀缺呦系列在线| 91美女片黄在线观看游戏| 懂色aⅴ精品一区二区三区蜜月| 日韩欧美国产免费播放| 久久久久久综合网天天| 欧美日韩中文字幕| 亚洲激情国产精品| 国产在线观看精品| 欧美日韩国产限制| 亚洲人成啪啪网站| 亚洲日本中文字幕免费在线不卡| 久久久久久久影视| 91最新在线免费观看| 在线视频一区二区| 日本久久久久久久久久久| 黄网站色欧美视频| 九九热r在线视频精品| 亚洲午夜久久久久久久| 欧美精品xxx| 一区二区在线视频播放| 亚洲精品成人av| 中文字幕在线成人| 91在线视频一区| 668精品在线视频| 18性欧美xxxⅹ性满足| 成人免费观看网址| 国内精品一区二区三区四区| 欧美一级电影久久| 欧美巨大黑人极品精男| 国产精品美女免费视频| 亚洲xxx大片| 久久天天躁狠狠躁夜夜爽蜜月| 欧美最猛性xxxxx(亚洲精品)| 欧美视频二区36p| 亚洲品质视频自拍网| 国产精品久久久久久久天堂| 国产福利精品av综合导导航| 欧美一区二区三区……| 麻豆成人在线看| 欧美成人午夜剧场免费观看| 91最新国产视频| 国产视频精品一区二区三区| 国产在线观看91精品一区| 久久视频免费在线播放| 久久久999精品免费| 久久久精品美女| 国产精品免费久久久| 国产精品免费一区二区三区都可以| 成人黄色中文字幕| 日韩av网站导航| 欧美亚洲在线视频| 欧美黑人狂野猛交老妇| 性色av一区二区三区免费| 热re99久久精品国产66热| 日韩av在线高清| 日韩亚洲国产中文字幕| 久久久成人的性感天堂| 国产午夜精品理论片a级探花| 国产精品电影在线观看| 国产精品成熟老女人| 亚洲人成绝费网站色www| 这里只有精品视频| 国产成人综合一区二区三区| 国产日韩亚洲欧美| 精品亚洲夜色av98在线观看| 亚洲欧美在线免费观看| 国产成人小视频在线观看| 国产精品久久久久久久久久ktv| 亚洲一区二区国产| 国产精品爽爽爽爽爽爽在线观看| 欧美极品少妇xxxxⅹ裸体艺术| 日韩av免费一区| 中文字幕日本欧美| 欧美激情在线狂野欧美精品| 色婷婷成人综合| 国产欧美最新羞羞视频在线观看| 亚洲一区二区国产| 91精品久久久久久| 国产精品视频资源| 欧美丝袜一区二区三区| 51ⅴ精品国产91久久久久久| 国产成人精彩在线视频九色| 日韩精品极品视频免费观看| 韩国三级日本三级少妇99| 亚洲欧美日本另类| 热久久视久久精品18亚洲精品| 亚洲无亚洲人成网站77777| 精品在线观看国产| 色偷偷噜噜噜亚洲男人的天堂| 亚洲专区中文字幕| 九色成人免费视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产精品揄拍500视频| 91精品国产九九九久久久亚洲| 久久久999成人| 国产免费一区二区三区香蕉精| 中文字幕日韩精品在线观看| 国产一区二区三区毛片| 成人免费激情视频| 欧美日韩性视频在线| 国产成人精品最新| 亚洲欧美日韩图片| 亚洲人成电影在线| 欧美激情综合色| 97婷婷大伊香蕉精品视频| 国产中文字幕日韩| 成人网页在线免费观看| 国产男女猛烈无遮挡91| 亚洲成人激情在线观看| 欧美成人h版在线观看| 川上优av一区二区线观看| 国产欧美一区二区三区在线| 亚洲а∨天堂久久精品喷水| 中文字幕精品在线| 久久综合久久美利坚合众国| 97人人爽人人喊人人模波多| 久久精品美女视频网站| 亚洲无限乱码一二三四麻| 成人a在线观看| 欧美丰满片xxx777| 91禁外国网站| 亚洲精品日韩激情在线电影| 成人福利网站在线观看11| 国产亚洲aⅴaaaaaa毛片| 日韩欧美国产骚| 欧美性极品xxxx娇小| 国产美女高潮久久白浆| 一区二区三区视频免费在线观看| 亚州欧美日韩中文视频|