c#中怎样才能让datagrid中鼠标点击一行变色点下一行变色同时上一行恢复原来的色

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c#中怎样才能让datagrid中鼠标点击一行变色点下一行变色同时上一行恢复原来的色相关的知识,希望对你有一定的参考价值。

最近做到了鼠标点击一行变色点下一行变色同时上一行恢复原来的色这个问题,我知道是在后台private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
中写的。但是我不知道具体语法怎么实现。希望写详细点。我看懂了有加分。。。
我用的是Microsoft Visual Studio .NET 2003+access

2楼,我就是不会点击事件,经过的我有

我想请问下怎么恢复原来的颜色

4楼我问地是鼠标点击变色,不是鼠标滑过变色。谢谢

for (int i = 0; i < GridView2.Rows.Count + 1; i++)//移动的时候变色的范围。

if (e.Row.RowType == DataControlRowType.DataRow) //首先判断是否是数据行
//当鼠标停留时更改背景色
e.Row.Attributes.Add("onmouseover", " c=this.style.backgroundColor;this.style.backgroundColor='#00A9FF'");
//当鼠标移开时还原背景色
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=c");


上面的代码写在GridView的RowDataBound事件里面就OK啦!颜色会自己改吧?改你喜欢颜色就行了!我直接从我的上面复制下来的。
参考技术A protected void gridviewClerkInfo_RowDataBound(object sender, GridViewRowEventArgs e)

if (e.Row.RowType == DataControlRowType.DataRow)

e.Row.Attributes["onmouseover"] = "javascript:setMouseStyle(this, '" + Globals.SlifeMouseOverColor + "');";
e.Row.Attributes["onmouseout"] = "javascript:setMouseStyle(this, 'white')";


你可以将onmouseover和onmouseout事件改为鼠标点击事件,目前这个是鼠标经过事件
参考技术B e.Row.Atrributes["onclientclick"] 参考技术C DataGrid根本不是用事件实现,直接可以用css前台样式实现/

用C# winForm,一个pannel容器上有许多label,怎样才能使得鼠标点击label时触发的pannel事件呢?

label事件太多 如果要在每个label上写太麻烦了啊

1.捕捉Label的点击事件然后直接调用panel的事件处理函数;
2.或重写Panel控件为自己的,捕捉label的事件然后调用基类的 OnClick。
参考技术A label的点击事件中pannel.click+=然后按2下Tab键,这个是点击label触发pannel的点击事件,要触发其他事件也是一样的方法 参考技术B pannel_click(NULL,NULL);
可以执行pannel对应的那个click事件

以上是关于c#中怎样才能让datagrid中鼠标点击一行变色点下一行变色同时上一行恢复原来的色的主要内容,如果未能解决你的问题,请参考以下文章

easyUI取消easyui行点击选中事件,智能通过勾选checkbox才能选中行

鼠标移动上去使字体变色,这代码怎么写

用C# winForm,一个pannel容器上有许多label,怎样才能使得鼠标点击label时触发的pannel事件呢?

我的easyui有一个datagrid,我想点击datagrid的一个单元格,让那个单元格的值改变,可以帮我解答一下吗?

C# winform程序中如何向datagridview中添加一行

我想用C#中的datagrid控件做一个删除行(点击按钮删除datagrid中的所指定的任意一行)