http://www.cnblogs.com/waynewjp/archive/2009/09/06/1561425.html
protected void gvTest_RowDataBound(object sender, GridViewRowEventArgs e)
{
//如果是綁定數據行
if (e.Row.RowType == DataControlRowType.DataRow)
{
//鼠標經過時,行背景色變
//e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='#E6F5FA'");
//鼠標移出時,行背景色變
//e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF'");
//Row鼠標經過時,行背景色變(使用CSS方式)
e.Row.Attributes.Add("onmouseover", "this.className='over'");
//鼠標移出時,行背景色變
e.Row.Attributes.Add("onmouseout", "this.className='out'");
//Cells鼠標經過時,行背景色變(使用CSS方式)
//e.Row.Cells[1].Attributes.Add("onmouseover", "this.className='over'");
//鼠標移出時,行背景色變
//e.Row.Cells[1].Attributes.Add("onmouseout", "this.className='out'");
//為gridview行添加雙擊事件
string url = "http://www.udn.com/";
e.Row.Attributes.Add("ondblclick", "javascript:parent.location.href='"+url+"'");
//為gridview列添加click事件
e.Row.Cells[3].Attributes.Add("onclick", "javascript:parent.location.href='" + url + "'");
}
//如果是綁定數據行
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.RowState == DataControlRowState.Normal || e.Row.RowState == DataControlRowState.Alternate)
{
//刪除前彈出確認框
((LinkButton)e.Row.Cells[6].Controls[0]).Attributes.Add("onclick", "javascript:return confirm('你確認要刪除:\"" + e.Row.Cells[2].Text + "\"嗎?')");
}
}
if (e.Row.RowIndex != -1)//自動生成編碼列
{
int id = e.Row.RowIndex + 1;
e.Row.Cells[0].Text = id.ToString();
}
if (e.Row.RowIndex != -1)//過長的內容,用...代替
{
string strInfo = e.Row.Cells[2].Text;
e.Row.Cells[2].Text = SubStr(strInfo, 1);
e.Row.Cells[2].ToolTip = strInfo;
}
if (e.Row.RowIndex == 5)//突出顯示某信息
{
e.Row.Cells[0].BackColor = System.Drawing.Color.Red;
}
//在GridView RowDataBound 如何取得不存在GridView 內的欄位資料(m_pkey)
if (e.Row.RowType == DataControlRowType.DataRow)
{
object dataItem = e.Row.DataItem;
bool discontinued = (bool) DataBinder.Eval(dataItem,"discontinued");
e.Row.Enabled = !discontinued;
}
}
public string SubStr(string sString, int nLeng)
{
if (sString.Length <= nLeng)
{
return sString;
}
string sNewStr = sString.Substring(0, nLeng);
sNewStr = sNewStr + "...";
return sNewStr;
}