ASP.NET----GridView多种用法,以及在后台取对应列的值


在对GridView进行操作时,经常要取一列或者多列的值,比如 点击某一个行的编辑按钮, 对该行数据进行修改。


取数据主键的方法: 比如主键为: DataKeyNames="book_class_id" 


后台可以这样取: this.GV_borrow.DataKeys[1].Value.ToString()


不同用法的GridView的取值方法也不相同。


用法一:

 

 
            
            
            
                     
            
            
                
                                    
                                        <%# Eval("book_class_name")%>
                                    
                                    
                                        
                                    
                                    
                                                             
           
                
                

                
                  
                    
                         
                            
                             
                    
                
             
        
                            
                            
                            
                            
                            
        



后台事件代码:

 

public void BindStud()
    {
         
        string type = "type";
        string sql = "select * from book_class order by book_class_id ";
        DataSet ds = new DataSet();
        ds = CC.GetDataSet(sql, type);
        GVStud.DataSource = ds.Tables[0];
        GVStud.DataBind();




    }


    protected void GVStud_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        this.GVStud.PageIndex = e.NewPageIndex;
        BindStud();
    }


    protected void GVStud_RowEditing(object sender, GridViewEditEventArgs e)
    {

        GVStud.EditIndex = e.NewEditIndex;
        BindStud();
    }


    protected void GVStud_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
    

    }


    protected void GVStud_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {


        GVStud.EditIndex = -1;
        BindStud();


    }




    protected void GVStud_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {}


主键内容值的提取方法:

  

  String id = GVStud.DataKeys[e.RowIndex].Value.ToString();

对应编辑列的值的提取方法:
     

   string type_title = ((TextBox)GVStud.Rows[e.RowIndex].FindControl("nameEdit")).Text.ToString();




用法二:

               
         
            
              
                  
                  
                  
                  
                         
                                   
                      
                    
                      
                      
                    
                    
                      
                         
                      
                                 
                             
                                
                
              
               
               
               
               
               
           



CommandArgument传多值
 

object[] arg=e.CommandArgument.ToString().Split(','); //注意是单引号 
string arg0=arg[0].ToString(); 
string arg1=arg[1].ToString();





在绑定数据时还可以用后台的函数先进行处理:

如下:

   
                                登录名 : 
                                       <%# Eval("login_name")%>
                                       

真实姓名 : <%# Eval("real_name")%>

管理员类别 :<%# getClassName1(DataBinder.Eval(Container.DataItem,"dbo_type").ToString()) %>

.cs中有代码:

 public string getClassName1(string winery_id)
    {
        string type = "dbo_login_type";
        string sql = "select dbo_name from dbo_login_type where dbo_type='" + winery_id + "'";
        DataSet ds = new DataSet();
        ds = CC.GetDataSet(sql, type);
        string ClassName = "";
        ClassName = ds.Tables[0].Rows[0][0].ToString();
        return ClassName;
    }


你可能感兴趣的:(web)