位置:海鸟网 > IT > ASP.NET >

扩展ASP.NET 2.0内置GridView控件之一

本文Bilal Haidar详细解释如何扩展ASP.NET2.0内置的GridView控件,同样还将解释了扩展后的GridView控件所具有的新的重要特征:基于行的上下文菜单和GridViews行的过滤功能。

  引言

  本文将聚焦对ASP.NET2.0内置的GridView进行扩展的一系列新功能。其中本文介绍两个主要特征:基于行的上下文菜单(Row_base ContextMenu)和基于过滤功能的GridView的行,在上周我曾经介绍了GridView控件。

  在我们自定义的GridView控件里,提供了几个具有“高效率”功能的扩展,不过,这些功能都不是GridView控件自带的基本功能,正如您即将看到的,我们需要要重构这些功能。 扩展现在的GridView控件可以让您更能够控件常规GridView所没有的功能,另外,扩展该功能后,您以后就可以不断重复的使用这些新特性。

  我们准备增加如下几个特征:

  1、行的单击

  2、行的双击

  3、基于行的上下文菜单

  4、头元素的升序降序排列

  5、当页面记录树木小于PageSize时,修正GridView的高度

  6、内置的过滤文本框

  7、内置的复选框

  除此以外,我们还将添加三个简单按钮,可以利用他们在客户端添加一些简单的确认函数

  ·确认按钮(Confirm Button)

  ·图片按钮(Confirm Image Button)

  ·链接按钮(Confirm Link Button)

  扩展的XGrid控件需要从GridView控件派生,这也就说这个新的控件可以在ASP.NET2.0上运行。

  下面代码显示了扩展后的的开始部分:

namespace CustomControls
{
 namespace Grid
 {
  [ToolboxData("<{0}:xGrid runat=server></{0}:xGrid>")]
  public partial class xGrid : GridView
  {


  要使用这个控件,只要简单的把它通过VS.NET2005的工具栏直接拖放到Web窗体上即可。具体怎把该控件添加VS.NET2005工具栏上则不是本文讨论的范围。

  下面的代码片断显示了它的基本使用

<xGrid:xGrid runat="server" AutoGenerateColumns="False" />


  单击(Single Row Click)

  这是该自定义控件添加的第一个新特性,您现在把鼠标放置到一行数据上然后单击就会引起页面数据的回发,你可能认为使用这个功能实现主/从页面,是的,使用RowClick可以实现这个功能。

  相关的属性是:

  ·EnableRowClick:这个属性可以取值为true/false,默认为false

  ·MouseOverColor:当EnableRowClick设置为true时,利用该属性设置鼠标移过一行数据显示的结果。单击和双击都使用这个功能。

  下图显示了运行结果,在这个运行结果里,显示了单击一行时的效果。