All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
SQL中通配符、转义符与--[--号的使用(downmoon)_[SQL,Server教程]
PHP操作XML做数据库的类_[PHP教程]
保护SQL,Server的十个步骤_[SQL,Server教程]
ASP.NET,2.0,Club,Web,Site,Starter,Kit,补丁_[Asp.Net教程]
.Net下二进制形式的文件(图片)的存储与读取_[Asp.Net教程]
深入探讨PHP中的内存管理问题_php资料_编程技术
解析在ASP.NET中调用存储过程的方法_[Asp.Net教程]
PHP PEAR简介_[PHP教程]
C#,3.0新特性初步研究,Part5:匿名类型_[Asp.Net教程]
Visual C++ 6.0教程:控制结构之循环结构
Reading number is top 10 pictures
美洲杯宝贝的雨中风情1
美女当网吧管理员的悲剧
清扫五脏垃圾,我有绝招
男人帮杂志里的惹火性感美女2
The world's top ten most beautiful railway station2
Chinese paper-cut grilles art appreciation2
夕阳下的北京街道
粉红蕾丝的美女
随便发几张图
Green sweet joey wong young old photos exposure
Download software ranking
天龙八部最新服务端
打鸟视频
Sora aoi‘s film--Lust fan wall
Love the forty days
Detective task-the top secret prostitution files
Boxer vs Yellow2
卡丁车单机版
Unix video tutorial8
Sora aoi's film--cangkong_Blue.Sky
Popkart Cracked versions Mobile phone games
delv published in(发表于) 2014/1/16 9:33:32 Edit(编辑)
扩展GridView(一)——鼠标经过行时改变行的样式_[Asp.Net教程]

扩展GridView(一)——鼠标经过行时改变行的样式_[Asp.Net教程]

扩展GridView(一)——鼠标经过行时改变行的样式_[Asp.Net教程]


GridView既强大又好用。为了让它更强大、更好用,我们来写一个继承自GridView的控件。
[源码下载]
http://files.cnblogs.com/webabcd/yycontrols.rar



扩展GridView(一)——鼠标经过行时改变行的样式



介绍
我们一般是通过在RowDataBound事件里编码的方式实现GridView的鼠标经过行时改变行的样式的功能。但是每次都这样做比较麻烦。所以我们来开发一个继承自GridView的控件,以扩展它的功能。通过设置其CssClassMouseOver属性来实现这样的功能。



控件开发
1、新建一个继承自GridView的类。
复制C#代码保存代码///


/// 继承自GridView
///

[ToolboxData(@"<{0}:SmartGridView runat='server'>")]
public class SmartGridView : GridView
{
}
2、加一个属性,用来指定鼠标经过行时,行的css类名
复制C#代码保存代码private string _cssClassMouseOver;


///


/// 鼠标经过的样式 CSS 类名
///

[Browsable(true)]
[Description("鼠标经过的样式 CSS 类名")]
[DefaultValue("")]
[Category("扩展")]
public virtual string CssClassMouseOver
{
get { return _cssClassMouseOver; }
set { _cssClassMouseOver = value; }
}
3、构造函数内加一个RowDataBound事件的处理,在该事件内实现鼠标经过行时改变行的样式的功能。主要是给
增加onmouseover事件和onmouseout事件。
复制C#代码保存代码///
/// 构造函数
///

public SmartGridView()
: base()
{
// 新增“SmartGridView_RowDataBound”事件处理
this.RowDataBound += new GridViewRowEventHandler(SmartGridView_RowDataBound);
}


///


/// RowDataBound事件
///

/// sender
/// e
protected void SmartGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
SmartGridView sgv = (SmartGridView) sender;


if (e.Row.RowType == DataControlRowType.DataRow)
{
// _cssClassMouseOver不是空则执行
if (!string.IsNullOrEmpty(this._cssClassMouseOver))
{
// 在
onmouseover时
的样式(css类名)
e.Row.Attributes.Add("onmouseover", "this.className='" + this._cssClassMouseOver + "';");


// 样式的名称(css类名)
string cssClassMouseOut = "";


// 根据RowState的不同,onmouseout时
的不同样式(css类名)
switch (e.Row.RowState)
{
case DataControlRowState.Alternate:
cssClassMouseOut = base.AlternatingRowStyle.CssClass;
break;
case DataControlRowState.Edit:
cssClassMouseOut = base.EditRowStyle.CssClass;
break;
case DataControlRowState.Normal:
cssClassMouseOut = base.RowStyle.CssClass;
break;
case DataControlRowState.Selected:
cssClassMouseOut = base.SelectedRowStyle.CssClass;
break;
default:
cssClassMouseOut = "";
break;
}


// 增加
的dhtml事件onmouseout
e.Row.Attributes.Add("onmouseout", "this.className='" + cssClassMouseOut + "';");
}
}
}


控件使用
添加这个控件到工具箱里,然后拖拽到webform上,设置其CssClassMouseOver属性即可


aspx文件
复制ASPX代码保存代码


css文件
复制CSS代码保存代码.over
{
background-color : Red;
}
skin文件
复制ASPX代码保存代码


OK


转自【webabcd-.NET】







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.