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();
        }

    }
     

  • 相关阅读:
    JavaScript——BOM和DOM
    css-2
    Css-1
    storage size of 'xxx' isn't known问题出现的可能原因之一
    解决VS2010中winsock.h与winsock2.h冲突(重复定义)——转载
    SQLite : 解决“找不到请求的 .Net Framework 数据提供程序。可能没有安装”的问题
    使用 VirtualBox 虚拟机在电脑上运行 Android 4.0 系统,让电脑瞬间变安卓平板
    C#连接ACCESS的一个问题
    对硅谷和硅谷科技公司的十四问,全程干货
    nginx源码学习资源
  • 原文地址:https://www.cnblogs.com/maplye/p/439345.html
Copyright © 2011-2022 走看看