可以考虑一下datatable的插件,绝对比你的那个gridview好很多。

解决方案 »

  1.   

    可以啊,你写一个公共方法,传入gridview就可以啦
    统一设定需要的操作
      

  2.   

    可以的,你去网上找找,我给一个
    GridView中单击选中一行
    1.在<% @Page ...... %>指令中添加 EnableEventValidation="false"
    2. Protected void GridView1_RowDataBound (object sender, GridViewRowEventArgs e) 

    if (e.Row.RowType == DataControlRowType.DataRow && e.Row !=null) 

    e.Row.Attributes.Add ("onClick", "javascript: __doPostBack ('" + GridView1+ "','Select$" + e.Row.RowIndex + "') ;"); 
    //这是双击,进入编辑模式
     e.Row.Attributes["ondblclick"] = ClientScript.GetPostBackEventReference(GridView1, "Edit$" + e.Row.RowIndex.ToString(), true);

    }
    双击自己在看一下,
      

  3.   

    扩展GridView http://blog.csdn.net/sandy945/article/details/6649346
      

  4.   

    拿Sorting来说,这可以用来举例说明Behavior设计方式。既你可以创建一个用户控件,例如叫做GridViewSortBehavior.ascx<%@ Control Language="C#" AutoEventWireup="true" CodeFile="GridViewSortBehavior.ascx.cs" Inherits="GridViewSortBehavior" %>
    using System;
    using System.Web.UI.WebControls;public partial class GridViewSortBehavior : System.Web.UI.UserControl
    {
        public string TargetID { get; set; }    protected void Page_Load(object sender, EventArgs e)
        {
            var gr = (GridView)this.FindControl(TargetID);
            gr.Sorting += new GridViewSortEventHandler(gr_Sorting);
        }    void gr_Sorting(object sender, GridViewSortEventArgs e)
        {
            if (this.Sorting != null)
                this.Sorting(sender, e);
        }    public event EventHandler<GridViewSortEventArgs> Sorting;}
    然后你可以在需要扩展GridView的时候(此时你无法打破它原来的设计架构,只是想以事件方式扩展而已),可以拖一个这个用户控件到它旁边,然后设置此用户控件实例的TargteID属性为这个GridView的ID。然后你就可以注册这个用户控件的Sorting事件(可以获得sender-GridView和GridViewSortEventArgs参数)来处理扩展功能。这样就把向GridView控件注入一个Sorting事件处理程序这一行代码用一个用户控件给代理了。你可能觉得这不是更加复杂了嘛?!原本用手写一行代码处理Sorting的事情,现在要先拖一个用户控件上去,然后设置属性,然后在手写一行代码来来处理Sorting。其实这是一个很小的架构,你可以把你要复用的代码封装在这类Behavior控件中,而仅仅设置TragetID属性就自动注册一堆复杂的行为代码了。你还可以为这个控件多添加几个属性,来决定像GridView注入代码的行为执行中的分支条件。不管怎样,当你不能或者不想重新继承GridView而开发新的GridView的时候,可以用鼠标拖一个自己写好的行为控件然后设置一下TargetID也可以自动为其注入新的行为代码。
      

  5.   

    public gridview不行么?
    或者写一个类,类里面有static gridview1,第一个页面赋好值以后,其他的页面直接用就行。
    或者用session将gridview1。datasource传过去
      

  6.   

    谢谢,我之前的做法就是这样。 不过感觉这样还是不够简洁,aspx.cs页面上的代码还是挺多的,所以才想自定义方法,把所有方法都写好了,然后aspx.cs文件中传入参数即可达到我想要的目的。