[ASP.net]DataGrid滑鼠事件處理
來源:互聯網
上載者:User
asp.net|datagrid 完成功能是DataGrid的頁面選中事件、滑鼠事件、雙擊事件改變TR的色彩。代碼很簡單,只是一點JS操作。
JS檔案:GridControl.js
=============================
/*------------ DataGrid滑鼠事件處理 ------------
功能:用於資料梆定後滑鼠事件
參數說明:
obj:對像this
fontColor:字型顏色
backColor:背景顏色
----------------------------------------------*/
var objState
//------------滑鼠經過時-----------
function OnFoucsMouseOver( obj,fontColor,backColor )
{
if ( obj.rowIndex > 0 )
{
obj.style.color = fontColor;
obj.style.backgroundColor = backColor;
}
}
//-----------滑鼠離開時-----------
function OnFoucsMouseOut( obj,fontColor,backColor )
{
if ( obj.rowIndex > 0 )
{
if ( obj != objState )
{
obj.style.color = fontColor;
obj.style.backgroundColor = backColor;
}
}
}
//-----------按一下滑鼠時-----------
function OnFoucsClick( obj,fontColor,backColor )
{
if ( obj.rowIndex > 0 )
{
if ( objState != null )
{
objState.style.color = "";
objState.style.backgroundColor = "";
}
obj.style.color = fontColor;
obj.style.backgroundColor = backColor;
objState = obj;
}
}
//-----------滑鼠雙擊時-----------
function OnFoucsDbClick( obj,fontColor,backColor,openUrl )
{
//參數openUrl為要開的新視窗的地址
if ( obj.rowIndex > 0 )
{
if ( objState != null )
{
objState.style.color = "";
objState.style.backgroundColor = "";
}
obj.style.color = fontColor;
obj.style.backgroundColor = backColor;
objState = obj;
window.open( openUrl );
}
}
==========================================
後台資料梆定例子:
==========================================
private void dgList_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//
if ( e.Item.ItemIndex != -1 )
{
e.Item.Attributes.Add( "onMouseOver","OnFoucsMouseOver(this,'#FFFFFF','#000000');" );
e.Item.Attributes.Add( "onMouseOut","OnFoucsMouseOut(this,'#000000','#FFFFFF');" );
e.Item.Attributes.Add( "onClick","OnFoucsClick( this,'#FFFFFF','#000000' );" );
e.Item.Attributes.Add( "onDblClick","OnFoucsDbClick( this,'#FFFFFF','#000000','about:bank' );" );
}
}
==========================================
前台.aspx頁面調用JS檔案:
<script language="javascript" src="GridControl.js"></script>