GridView模板列

      TemplateField允许每一列定义一个完全定制的模板,可以再模板中加入控件标记,任意的html元素以及数据绑定表达式,你可以按照你的方式布置一切
      
< asp:TemplateField HeaderText = " Employees " >
                  
< ItemTemplate >                     
                    
<% # Eval( " EmployeeID " %>   -  
                    
<% # Eval( " TitleOfCourtesy " %>   <% # Eval( " FirstName " %>
                    
<% # Eval( " LastName " %>       
                  
</ ItemTemplate >
< asp:TemplateField >        

      绑定GridView后,GridView从数据源获取数据并循环项目的集合,为每个项目处理ItemTemplate,计算其中的数据绑定表达式,并把生成的Html加到表中。
      这里表达式使用了Eval()方法,它是System.Web.UI.DataBinder类的一个静态方法.Eval()使用方便---它自动读取绑定到当前行的数据项,使用反射找到匹配的字段或属性并获得值。反射的过程稍微增加了一些负载,但不会给整个请求的处理增加很长时间。如果不用Eval()方法,可以使用Container.DataItem属性访问数据对像,像下面那样:
      
<% # ((EmployeeDetails)Container.DataItem)[ " FirstName " %>

      Eval()方法加入了一个格式化字段的功能,
<% # Eval( " BirthDate " , " {0:MM/dd/yy} " %>  

      你还可以自由地组合模板列和其他类型的列
             < asp:TemplateField HeaderText = " Employees " >
                  
< ItemTemplate >
                  
< b >
                    
<% # Eval( " EmployeeID " %>   -  
                    
<% # Eval( " TitleOfCourtesy " %>   <% # Eval( " FirstName " %>
                    
<% # Eval( " LastName " %>
                  
</ b >
                  
< hr  />
                  
< small >< i >
                    
<% # Eval( " Address " %>< br  />
                    
<% # Eval( " City " %> <% # Eval( " Country " %> ,
                    
<% # Eval( " PostalCode " %>< br  />
                    
<% # Eval( " HomePhone " %></ i >
                    
< br  />< br  />
                    
<% # Eval( " Notes " %>
                  
</ small >    
                  
</ ItemTemplate >
            
</ asp:TemplateField >     
            
                   GridView模板列


你可能感兴趣的:(GridView)