ASP.NET 重写GridView 添加双击行改变行的状态,
当双击行的时候将行的状态改变成为Edit 在GridView里面不能有修改CommandField
那位老大帮忙解决下,
问题很急

解决方案 »

  1.   

    这个控件重写也不是很明白:尤其是这个GridView,确实麻烦;有一点点思路供讨论;注册行的双击事件处理脚本,脚本中用edit等字符串作为参数回传;如:__dopostback('edit');肯定不止这一个参数,会有很多的,如排序列页码等等;回传到服务器后,获取并判断参数,引发对应的编辑事件。想完全按照自己的方式来用这个控件,一定要好好看看Gridview的控件开发
      

  2.   

    http://www.xieker.com/txt/37104.htm,这里都实现了
      

  3.   

    路径是否严格一致
    ConnString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + filepath + "; Extended Properties=\"Excel 8.0; HDR=No; IMEX=1;\"";  string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";   
    using(OleDbConnection conn = new OleDbConnection(strConn))   
    {   
    conn.Open();   
    OleDbDataAdapter oleDbDataAdapter = null;   
    DataSet ds = new DataSet();   
    string s= "select * from [sheet1$]";   
    oleDbDataAdapter = new OleDbDataAdapter(s, conn);   
    oleDbDataAdapter.Fill(ds);   
    conn.Close();   
      

  4.   

    看错了
    gridview双击编辑
    http://topic.csdn.net/u/20090828/14/032e32d3-a37b-4436-a48c-961bb4a53e85.html
      

  5.   

    首先,声明你的GridView所在的控件既有处理回发的接口功能,例如public partial class TestPage : XVPage, IPostBackEventHandler
    {
    .....
    }
    对于ascx或者master page也是一样的。然后需要让GridView能够从浏览器回发,需要写protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
            e.Row.Attributes["ondblclick"] = this.Page.ClientScript.GetPostBackEventReference(this, "双击:" + e.Row.RowIndex.ToString());
    }最后一步,就是必须实现接口IPostBackEventHandler的要求,处理回发之后该处理的事,例如public void RaisePostBackEvent(string eventArgument)
    {
        if (eventArgument.StartsWith("双击:"))
        {
            var rowIndex = int.Parse(eventArgument.Substring(3));
            this.GridView1.EditIndex = rowIndex; 
              //如果你使用数据源控件配合GridView,就不必画蛇添足去手动写代码重新绑定数据
        }
    }
      

  6.   

    public partial class TestPage : Page, IPostBackEventHandler
    {
    .......
    }
    我顺手写成了XVPage。如果你想使用它,可以参考:http://topic.csdn.net/u/20100606/23/ba5ecf4f-7e1a-4b80-8012-154da1f902eb.html
      

  7.   

    对于这类问题,只要记住 IPostBackEventHandler 接口就“上路”了。你只要问问程序员会不会使用这个接口,就知道能否比较准确地设计回发处理类型的程序。