zoukankan      html  css  js  c++  java
  • GridView使用一些记录

    现在有个项目开始使用ASP.NET 2.0开发,在开发过程中关于GridView的使用的一些零星的记录
    1.TemplateField中的绑定

    <asp:TemplateField>
                            
    <ItemTemplate><%Eval("OCompany.Name"%></ItemTemplate>
                        
    </asp:TemplateField>

    2.通过CheckBox得到选择行的主健值(GridView支持多主健)
            private string GetSelectId()
            
    {
                
    //EnsureChildControls();
                GridView gvlist1 = (GridView)this.Controls[0].FindControl("gvlist");

                
    int icount = gvlist1.Rows.Count;

                
    string id = string.Empty;

                
    for (int i = 0; i < gvlist1.Rows.Count; i++)
                
    {
                    CheckBox cb 
    = (CheckBox)gvlist1.Rows[i].FindControl("cb_id");

                     
    //得到选中行的信息
                    if (cb.Checked == true)
                    
    {
                        DataKey dkr 
    = gvlist1.DataKeys[i];

                        id 
    = dkr.Value.ToString();
                    }

                }


                
    return id;
            }

    3.动态创建TemplateField
    private void TemplateColumn(GridView gvlist, string column, GridListAttribute att)
            
    {
                TemplateField tf 
    = new TemplateField();

                tf.HeaderText 
    = att.HeaderText;
                tf.HeaderStyle.Width 
    = Unit.Parse(att.Width);

                ColumnTemplate temp 
    = new ColumnTemplate();

                temp.Column 
    = att.Column;

                tf.ItemTemplate 
    = temp;

                gvlist.Columns.Add(tf);
         
                
            }

    ColumnTemplate类
    public class ColumnTemplate : ITemplate
    {
        
    //第一个模板列 
        public void InstantiateIn(Control container)
        
    {
            LiteralControl l 
    = new LiteralControl();
            l.DataBinding 
    += new EventHandler(this.OnDataBinding);
            container.Controls.Add(l);
        }


        
    public void OnDataBinding(object sender, EventArgs e)
        
    {
            
                LiteralControl lt 
    = (LiteralControl)sender;//LiteralControl发送绑定请求

                GridViewRow container 
    = (GridViewRow)lt.NamingContainer;

                lt.Text 
    = DataBinder.Eval(container.DataItem, column).ToString();
        }

    }
     

  • 相关阅读:
    SpringBoot 应用程序启动过程探秘
    git创建分支并推送远程
    idea中@Autowired注解下变量报红
    java.lang.IllegalStateException: Either 'name' or 'value' must be provided in @FeignClient的解决方案
    项目启动中报错Address already in use: bind的解决方案
    Maven配置阿里云镜像和配置jdk1.8编译项目
    MySQL优化之Explain
    英文字母和中文汉字在不同字符集编码下的字节数
    Netty中两种Keepalive的区别
    @ConfigurationProperties和@Value的区别
  • 原文地址:https://www.cnblogs.com/maplye/p/439345.html
Copyright © 2011-2022 走看看