/*
依照需求一個一個cell賦給事件,改變相應需要的顏色
參數說明:
obj : 各單元格
allcount : 總顯示列數。
key1 : 複合主鍵1
key2 : 複合主鍵2(單鍵放空)
changecolor : 事件賦予顏色
後臺使用,循环gridview每一行,注册JS:
Dim i As Integer
For i = 0 To e.Row.Cells.Count - 1
e.Row.Cells(i).Attributes.Add("onmouseover", "currentcolor=this.style.backgroundColor;over(this,8,'0','1,2,3,4','#EBEBED')")
e.Row.Cells(i).Attributes.Add("onmouseout", "over(this,8,'0','1,2,3,4',currentcolor)")
Next
*/
function over(obj,allcount,key1,key2,changecolor)
{
var arykey1 = new Array();
var arykey2 = new Array();
arykey1=key1.split(',');
arykey2=key2.split(',');
if(obj.rowSpan>1)
{
var j=obj.parentElement.rowIndex;
for(j;j<obj.rowSpan+obj.parentElement.rowIndex;j++)
{
obj.parentElement.parentElement.rows[j].style.backgroundColor=changecolor;
}
if(arykey2.length>0)
{
if(obj.parentElement.cells.length!=allcount)
{
var i;
for(i=obj.parentElement.rowIndex;i>0;i--)
{
var bol1=false;
var k=0;
var intpp=obj.parentElement.parentElement.rows[i].cells.length;
if(arykey1.length>0)
{
if(!bol1)
{
if(intpp==allcount)
{
for(k;k<arykey1.length;k++)
{
var intCol=arykey1[k];
if(obj.parentElement.parentElement.rows[i].cells[intCol].rowSpan>1)
{
obj.parentElement.parentElement.rows[i].cells[intCol].style.backgroundColor=changecolor;
bol1=true;
}
}
}
}
}
if(bol1) break;
}
}
}
}
else
{
var i;
for(i=0;i<obj.parentElement.cells.length;i++)
{
obj.parentElement.cells[i].style.backgroundColor=changecolor;
}
if(obj.parentElement.cells.length!=allcount && obj.parentElement.cells.length!=allcount-arykey1.length && arykey2.length>0)
{
for(i=obj.parentElement.rowIndex;i>0;i--)
{
var bol2=false;
var bolFlag=false;
var k=0;
var intpp=obj.parentElement.parentElement.rows[i].cells.length;
if(intpp==allcount) bolFlag=true;
if(arykey2.length>0)
{
if(!bol2)
{
var intpp2=obj.parentElement.parentElement.rows[i].cells.length;
var intlength=bolFlag?allcount:allcount-arykey1.length;
if(intpp2==intlength)
{
for(k;k<arykey2.length;k++)
{
var intCol=bolFlag?arykey2[k]:arykey2[k]-arykey1.length;
if(obj.parentElement.parentElement.rows[i].cells[intCol].rowSpan>1)
{
obj.parentElement.parentElement.rows[i].cells[intCol].style.backgroundColor=changecolor;
bol2=true;
}
}
}
}
}
if(bol2) break;
}
}
if(obj.parentElement.cells.length<allcount)
{
for(i=obj.parentElement.rowIndex;i>0;i--)
{
var bol1=false;
var k=0;
var intpp=obj.parentElement.parentElement.rows[i].cells.length;
if(arykey1.length>0)
{
if(!bol1)
{
if(intpp==allcount)
{
for(k;k<arykey1.length;k++)
{
var intCol=arykey1[k];
if(obj.parentElement.parentElement.rows[i].cells[intCol].rowSpan>1)
{
obj.parentElement.parentElement.rows[i].cells[intCol].style.backgroundColor=changecolor;
bol1=true;
}
}
}
}
}
if(bol1) break;
}
}
}
}