扩展ASP.NET 2.0内置GridView控件之一
日期:2007年9月16日 作者: 查看:[ 大字体 中字体 小字体]-
border="0" marginwidth="0" marginheight="0" src="http://www.hackhome.com/gg/web/ff_468.html" frameborder="no" width="468" scrolling="no" height="0"> - <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script> name="google_ads_frame" marginwidth="0" marginheight="0" src="http://pagead2.googlesyndication.com/pagead/ads?client=ca-pub-0692289505803928&dt=1206919466062&lmt=1199903354&format=300x250_as&output=html&correlator=1206919466062&channel=6926205886&url=http%3A%2F%2Fwww.hackhome.com%2FInfoView%2FArticle_180228_2.html&color_bg=FFFFFF&color_text=000000&color_link=000060&color_url=008000&color_border=FFFFFF&ad_type=text_image&ref=http%3A%2F%2Fwww.hackhome.com%2FInfoView%2FArticle_180228.html&frm=0&cc=100&ga_vid=1145423912.1206919466&ga_sid=1206919466&ga_hid=399302210&flash=9.0.47.0&u_h=768&u_w=1024&u_ah=738&u_aw=1024&u_cd=32&u_tz=480&u_his=1&u_java=true" frameborder="0" width="300" scrolling="no" height="250" allowtransparency="allowtransparency"> 您可以在RowClick事件里处理单击的结果,示意代码如下:
protected void XGrid1_RowClick(object sender, RowClickEventArgs e)
{
Response.Write("You clicked row: " + e.GridViewRow.RowIndex);
}
RowClickEventArgs参数默认是从EventArgs 类派生,并增加了一个名称为GridViewRow 的属性,这样您就可以使用该属性获取当前行的索引。行的双击(Double Row Click)
这是往扩展GridView添加的第二个功能。您现在只需要在一行上双击就会向服务器产生数据回发来处理请求。您可以通过双击让当前行处于编辑默认。 在行的双击里已经添加了RowDoubleClick事件,您可以使用该事件处理特定的业务逻辑
相关的属性
EnableRowDoubleClick:取值为true或者false,默认值为false
MouseOverColor:当EnableRowDoubleClick设置为true时,可以利用该属性设置设置鼠标移过行的效果,这个和单击行的效果一样。
下图显示了运行结果
您可以处理RowDoubleClick 事件,示意代码如下:
protected void XGrid1_RowDoubleClick(object sender, RowDoubleClickEventArgs e)
{
Response.Write("You double clicked row: " + e.GridViewRow.RowIndex);
}
RowDoubleClickEventArgs 类时从EventArgs 类派生并添加了GridViewRow 属性,使用该属性可以给你更全的控件
基于行的上下文菜单
我们花费了一个半月左右的事件来研究GridView控件,但是我们发现没有一个GridView控件可以使用ContextMenu,也就是说内置的GridView上下文菜单控件无法使用。
我们不得不使用Dino Esposito开发的context meun,该菜单的开发文档发布在MSDN杂志上,本文后面会在资料文件里列出对该文件的链接。 Dino Esposito开发的Context Menu主要使用ASP.NET1.1技术进行开发,我们已经建立了基于ASP.NET2.0 Context Menu项目,该项目拷贝了他的代码,并进行了简单的更改。其中,一个改变是在Context Menu项目里添加了OnClientClick属性,这样在处理客户端向服务器请求的回发前,开发人员可以将客户端处理事件挂接到上下文菜单里。
Context Menu使用的客户端代码主要是javascript代码,这里的代码在ASP.NET2.0里已经作为资源(Resource)包括进去了。
Context Menu现在已经是基于ASP.NET2.0的项目了并且已经集成到扩展的GridView控件的每一行,现在当您右击每一行时,您将可以访问右击事件。扩展的GridView控件还有一个新的属性:RightClickRow,该属性可以返回当前行上下文菜单