asp.net在GridView中如何实现checkbox选中一行及变色? 简单来说就是实现类似于163邮箱的功能。
功能包括:1、选中除checkbox那一列时,跳转到所选行的内容页面;2、选择某行的checkbox时选择整行,且选中行变色。感谢各位!这是截图...
功能包括:
1、选中除checkbox那一列时,跳转到所选行的内容页面;
2、选择某行的checkbox时选择整行,且选中行变色。
感谢各位!
这是截图 展开
1、选中除checkbox那一列时,跳转到所选行的内容页面;
2、选择某行的checkbox时选择整行,且选中行变色。
感谢各位!
这是截图 展开
4个回答
展开全部
1.选中一行变色
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i;
for (i = 0; i < GridView1.Rows.Count; 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");
}
}
}
2.至于选中跳转到相应的页面,直接在GridView里面绑定页面地址就行了
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
int i;
for (i = 0; i < GridView1.Rows.Count; 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");
}
}
}
2.至于选中跳转到相应的页面,直接在GridView里面绑定页面地址就行了
展开全部
给你两种方案:
方案一:后台代码实现
/// <summary>
///
/// 光棒事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gdvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < gdvUserInfo.Rows.Count; i++)
{
if (gdvUserInfo.Rows[i].RowType == DataControlRowType.DataRow)
{
gdvUserInfo.Rows[i].Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#9cf'");
gdvUserInfo.Rows[i].Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}
}
方案二:JS前端脚本实现
//实现光棒效果js
var highlightcolor = '#c1ebff';
var clickcolor = '#51b2f6';
function changeto() {
source = event.srcElement;
if (source.tagName == "TR" || source.tagName == "TABLE")
return;
while (source.tagName != "TD")
source = source.parentElement;
source = source.parentElement;
cs = source.children;
if (cs[1].style.backgroundColor != highlightcolor && source.id != "nc" && cs[1].style.backgroundColor != clickcolor)
for (i = 0; i < cs.length; i++) {
cs[i].style.backgroundColor = highlightcolor;
}
}
function changeback() {
if (event.fromElement.contains(event.toElement) || source.contains(event.toElement) || source.id == "nc")
return
if (event.toElement != source && cs[1].style.backgroundColor != clickcolor)
for (i = 0; i < cs.length; i++) {
cs[i].style.backgroundColor = "";
}
}
调用:在tr中加上 <tr onmouseover="changeto()" onmouseout="changeback()">即可
方案一:后台代码实现
/// <summary>
///
/// 光棒事件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void gdvUserInfo_RowDataBound(object sender, GridViewRowEventArgs e)
{
for (int i = 0; i < gdvUserInfo.Rows.Count; i++)
{
if (gdvUserInfo.Rows[i].RowType == DataControlRowType.DataRow)
{
gdvUserInfo.Rows[i].Attributes.Add("onmouseover", "c=this.style.backgroundColor;this.style.backgroundColor='#9cf'");
gdvUserInfo.Rows[i].Attributes.Add("onmouseout", "this.style.backgroundColor=c");
}
}
}
方案二:JS前端脚本实现
//实现光棒效果js
var highlightcolor = '#c1ebff';
var clickcolor = '#51b2f6';
function changeto() {
source = event.srcElement;
if (source.tagName == "TR" || source.tagName == "TABLE")
return;
while (source.tagName != "TD")
source = source.parentElement;
source = source.parentElement;
cs = source.children;
if (cs[1].style.backgroundColor != highlightcolor && source.id != "nc" && cs[1].style.backgroundColor != clickcolor)
for (i = 0; i < cs.length; i++) {
cs[i].style.backgroundColor = highlightcolor;
}
}
function changeback() {
if (event.fromElement.contains(event.toElement) || source.contains(event.toElement) || source.id == "nc")
return
if (event.toElement != source && cs[1].style.backgroundColor != clickcolor)
for (i = 0; i < cs.length; i++) {
cs[i].style.backgroundColor = "";
}
}
调用:在tr中加上 <tr onmouseover="changeto()" onmouseout="changeback()">即可
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你所说的功能是不是gridview中的“光棒效果”?可以百度一下,看看这方面的内容,可能会对你有帮助的,祝你好运!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
rowdatabind事件中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询