[索引页]
[源码下载]
扩展GridView控件(9) - 给数据行增加右键菜单
作者:webabcd
/*正式版的实现 开始*/
介绍
扩展GridView控件:
给数据行增加右键菜单,响应服务端事件或超级链接
使用方法(设置ContextMenus集合属性):
Text - 菜单的文本内容
BoundCommandName - 需要绑定的CommandName
NavigateUrl - 链接的URL
Target - 链接的目标窗口或框架
SmartGridView的属性ContextMenuCssClass - 右键菜单的级联样式表 CSS 类名(右键菜单的结构div ul li a)
关键代码
js
css
c#
/*正式版的实现 结束*/
/*测试版的实现 开始*/
介绍
给GridView的数据行增加右键菜单可以增加用户体验,不过实现起来挺麻烦的,现在我们扩展一下GridView控件以实现这样的功能。
控件开发
1、新建一个继承自GridView的类。
2、新建一个ContextMenu实体类,有六个属性
3、新建一个继承自CollectionBase的类ContextMenus
4、在继承自GridView的类中加一个复杂对象属性,该复杂对象就是第3步创建的那个ContextMenus
5、新建一个JavaScriptConstant类,把我们要用到的javascript存在一个常量里
6、重写OnPreRender方法,注册上面那段客户端脚本
7、重写OnRowDataBound给数据行增加客户端代码以调用我们注册的那段javascript,从而实现给GridView的数据行增加右键菜单的功能。
控件使用
添加这个控件到工具箱里,然后拖拽到webform上,设置如下属性:ItemType为右键菜单的项的类别(Link,Command,Separator);Icon为文字左边的图标的链接;Text为菜单的文字;CommandButtonId为所调用的命令按钮的ID;NavigateUrl为链接的url;Target为链接的target(Blank,Self,Top)
ObjData.cs
Default.aspx
注:如果想修改右键菜单的样式,请自行修改javascript,我就不把他们弄出来了。
/*测试版的实现 结束*/
OK
[源码下载]