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

    }
     

  • 相关阅读:
    第二百三十四天 how can I 坚持
    第二百三十三天 how can I 坚持
    第二百三十二天 how can I 坚持
    第二百三十一天 how can I 坚持
    第二百三十天 how can I 坚持
    第二百二十九天 how can I 坚持
    第二百二十八天 how can I 坚持
    第二百二十七天 how can I 坚持
    GG's Single Day
    杭电2133--What day is it
  • 原文地址:https://www.cnblogs.com/maplye/p/439345.html
Copyright © 2011-2022 走看看