DataGrid鼠标事件方法
http://blog.csdn.net/bgu/
JS文件源碼:GridColorControl.js
=====================================
/*-----------------調用說明-----------------
說明:可用于架設頁面事件。
入口函數:OnFocusSet(....)
如:OnFocusSet( "#000000","#FFFFFF","#FFFFFF","#000000" )
實用調用例子:
鼠標事件:
onMouseOver='OnFocusSet( "#000000","#FFFFFF","#FFFFFF","#000000" )'
單擊事件:
onClick='OnFocusSet( "#000000","#FFFFFF","#FFFFFF","#000000" )'
參數說明:
參數一[color]:未選中時的字體顏色
參數二[backColor]:未選中時的背景顏色
參數三[selectColor]:選中時的字體顏色
參數四[selectBackColor]:選中時的背景顏色
------------------------------------------*/
var Rows=new Array();
var ShiftStartRow="";
var setColor,setBackColor,setSelectColor,setSelectBackColor;
/*---------主函數入口----------*/
function OnFocusSet( color,backColor,selectColor,selectBackColor )
{
?setColor = color;
?setBackColor = backColor;
?setSelectColor = selectColor;
?setSelectBackColor = selectBackColor;
?Set();
}
//-----------操作----------------
function Set()
{
?iRow=window.event.srcElement;
?do
?{
??iRow=iRow.parentElement;
?}
?while(iRow.tagName!='TR')
?if(event.ctrlKey)
?{
??var j=-1;
??for(i=0;i<Rows.length;i++)
??{
???if(iRow==Rows[i])
???{
????j=i;break;
???}
??}
??if(j!=-1)
??{
???for(i=j;i<Rows.length-1;i++)
???{
????Rows[i]=Rows[i+1];
???}
???Rows.length=Rows.length-1;
??}
??else
??{
???Rows[Rows.length]=iRow;
??}
???ShiftStartRow=iRow;
??}
??else if(event.shiftKey)
??{
???if(ShiftStartRow!="")
???{
????var StartIndex=ShiftStartRow.rowIndex;
????var EndIndex=iRow.rowIndex;
????var oTable=iRow.parentElement;Rows.length=0;
????if(StartIndex < EndIndex)
????{
?????for(var i=StartIndex;i<EndIndex+1;i++)
?????{
??????Rows.push(oTable.rows[i]);
?????}
????}
????if(StartIndex >= EndIndex)
????{
?????for(var i=EndIndex;i<StartIndex+1;i++)
?????{
??????Rows.push(oTable.rows[i]);
?????}
????}
???}
??}
??else
??{
???Rows.length=1;
???Rows[0]=iRow;
???ShiftStartRow=iRow;
??}
??changeColor(iRow);
}
//------------顏色改變------------
function changeColor(obj)
{
?for(var i=1;i<obj.parentElement.rows.length;i++)
?{
??obj.parentElement.rows(i).style.backgroundColor=setBackColor;
??obj.parentElement.rows(i).style.color=setColor;
?}
?var keyValue="";
?for(i=0;i<Rows.length;i++)
?{
??Rows[i].style.backgroundColor=setSelectBackColor;
??keyValue += Rows[i].id+",";
??Rows[i].style.color=setSelectColor;
?}
}
===========================================
后臺DataGrid梆定方法:
===========================================
private void dgList_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
??{
???if( e.Item.ItemType==ListItemType.Item || e.Item.ItemType==ListItemType.AlternatingItem || e.Item.ItemType==ListItemType.SelectedItem)
???{
????e.Item.Attributes.Add("onClick","OnFocusSet( '#000000','#FFFFFF','#FFFFFF','#000000' );");
???}
??}
===========================================
前臺.aspx文件調用JS即可:<script language="javascript" src="GridColorControl.js" type="text/javascript"> </script>
<script language="javascript" src="GridColorControl.js" type="text/javascript"> </script><script language="javascript" src="GridColorControl.js"></script><script language="javascript" src="GridColorControl.js" type="text/javascript"> </script><script language="javascript" src="GridColorControl.js" type="text/javascript"> </script><script language="javascript" src="GridColorControl.js" type="text/javascript"> </script>
總結
以上是生活随笔為你收集整理的DataGrid鼠标事件方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DataGrid鼠标事件处理
- 下一篇: 在ASP.NET 中实现单点登录