如何在c#的datagrid中实现改变某行的背景色,点击任一列能实现超连接?

时间:2021-12-15 14:46:13
如何在c#的datagrid中实现改变某行的背景色,点击任一列能实现超连接? 
如何在c#的datagrid中实现当鼠标移到某一行时,或单击这一行时改变其背景色,双击这一行任一列时可以形成超连接,并把改行的ID字段作为参数传递到新打开的网页?而不是利用在datagrid中定义一个超连接按钮,点击它来获得该行的index值!!!???

7 个解决方案

#1


改变表格色用CSS就能实现..

有关DATAGRID的分页有好多例了,你在CSDN里搜索一下

#2


这不是分页的问题,关键是如何获得当鼠标点击某一行后,获得该行的index值?然后使该行的背景色改变,也可以对该行进行修改和删除!!!!

#3


e.Item.BackColor=Color.Red
对于你的要求,我看只能用Javascript来实现了。因为ASP.NET是事件驱动编程,DataGrid的Item只有Created和DataBound两个事件,所以无法满足你的要求。

#4


试试
private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseover"]="this.name=this.style.backgroundColor;this.style.backgroundColor='yellow';"; 
e.Item.Attributes["ondbclick"]="window.open('***.aspx?id=" + e.Item.Cells[0].Text + "','newwin','')";
}
}

#5


http://lucky_elove.www1.dotnetplayground.com/

#6


alieneagle() 说的办法可行!!!!!!!是个高手!!!!谢谢了

#7


都是客户端代码

#1


改变表格色用CSS就能实现..

有关DATAGRID的分页有好多例了,你在CSDN里搜索一下

#2


这不是分页的问题,关键是如何获得当鼠标点击某一行后,获得该行的index值?然后使该行的背景色改变,也可以对该行进行修改和删除!!!!

#3


e.Item.BackColor=Color.Red
对于你的要求,我看只能用Javascript来实现了。因为ASP.NET是事件驱动编程,DataGrid的Item只有Created和DataBound两个事件,所以无法满足你的要求。

#4


试试
private void datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes["onmouseover"]="this.name=this.style.backgroundColor;this.style.backgroundColor='yellow';"; 
e.Item.Attributes["ondbclick"]="window.open('***.aspx?id=" + e.Item.Cells[0].Text + "','newwin','')";
}
}

#5


http://lucky_elove.www1.dotnetplayground.com/

#6


alieneagle() 说的办法可行!!!!!!!是个高手!!!!谢谢了

#7


都是客户端代码