• asp.net 2.0的GridView的动态绑定数据的用法!


         这段时间一直在搞asp.net 2.0和C#发现了2.0和以前的版本有很大的不同,下面是我对GridView动态捆绑用法的一些心得,写出来一起探讨:
          首先我假设我们要动态捆绑的一个类是一个查询的类定义为一个叫SearchFunction()的,然后我们双击分页的事件GridView1_PageIndexChanging:

     protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
        
    {
            GridView1.PageIndex 
    = e.NewPageIndex;
            SearchFunction();
        }
    而编辑的事件GridView1_RowEditing:
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
        
    {
            GridView1.EditIndex 
    = e.NewEditIndex;
            SearchFunction(); 
         }
    关闭编辑事件GridView1_RowCancelingEdit
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
        
    {
            GridView1.EditIndex 
    = -1;
            SearchFunction();
        }
    还有排序的时间GridView1_Sorting首先在刚刚load的时候添加
    protected void Page_Load(object sender, EventArgs e)
        
    {
           
            
            
    if (!Page.IsPostBack)
            
    {
                ViewState[
    "sortColumn"= " ";
                ViewState[
    "sortDirection"= " ";
                
             
            }

    }
    然后在事件里填写:
     protected void GridView1_Sorting(object sender, GridViewSortEventArgs e)
        
    {
            GridView1.EditIndex 
    = -1;
            
    if (ViewState["sortColumn"].ToString() == e.SortExpression.ToString())
            
    {
                
    if ("ASC" == ViewState["sortDirection"].ToString())
                
    {
                    ViewState[
    "sortDirection"= "DESC";
                }

                
    else
                
    {
                    ViewState[
    "sortDirection"= "ASC";
                }

            }

            
    else
            
    {
                ViewState[
    "sortColumn"= e.SortExpression.ToString();
                ViewState[
    "sortDirection"= "ASC";
            }

    //sql是要查询的数据的内容
               sql += " order by " + ViewState["sortColumn"].ToString() + " " + ViewState["sortDirection"].ToString();

            
    this.Session["sql"= sql;
            
    using (DataSet dr = SQL.exesql(sql, "sql"))
            
    {
                GridView1.DataSource 
    = dr.Tables["sql"];
                GridView1.AutoGenerateEditButton 
    = true;
                GridView1.AutoGenerateDeleteButton 
    = true;
                GridView1.DataBind();
            }

        }

    还有就是更新的事件GridView1_RowUpdating:

    GridViewRow row = GridView1.Rows[e.RowIndex];
            TextBox test 
    = (TextBox)row.Cells[1].Controls[0as TextBox;
            TextBox test1 
    = (TextBox)row.Cells[2].Controls[0as TextBox;
            TextBox test2 
    = (TextBox)row.Cells[3].Controls[0as TextBox;
            TextBox test3 
    = (TextBox)row.Cells[4].Controls[0as TextBox;
    ..
            TextBox testx 
    = (TextBox)row.Cells[y].Controls[0as TextBox;
    //这里是关键获取前面GridView的元素的值;
    //获取后就可以根据你要更新的内容来更新
            
    这是我对动态GridView的一些用法的看法,希望大家一起来讨论;
  • 相关阅读:
    编译错误error: invalid&nbsp…
    移植OK6410'S dm9000ae…
    JavaScript 正则表达式-严格匹配
    JavaScript indexOf() 方法
    JavaScript splice() 方法
    Css文字效果
    知识点-语句
    知识点—变量、运算符(表达式)
    WPF RichTextBox相关总结
    WPF调用图片路径,或资源图片
  • 原文地址:https://www.cnblogs.com/jonney/p/296753.html
Copyright © 2020-2023  润新知