GridView动态添加列

不羁岁月 提交于 2019-12-20 19:57:31

 

  

public class MyTemplate:ITemplate

{

    private string strColumnName;

    private DataControlRowType dcrtColumnType;

 

    public MyTemplate(string strColumnName, DataControlRowType dcrtColumnType)

    {

        this.strColumnName = strColumnName;

        this.dcrtColumnType = dcrtColumnType;

    }

 

    public void InstantiateIn(Control ctlContainer)

    {

        switch (dcrtColumnType)

        {

            case DataControlRowType.Header: //列标题

                Literal ltr = new Literal();

                ltr.Text = strColumnName;

                ctlContainer.Controls.Add(ltr);

                break;

            case DataControlRowType.DataRow: //模版列内容——加载hyperlink1

                HyperLink hl = new HyperLink();

                hl.ID = "hyperlink1";

                hl.NavigateUrl = "erro.aspx";

                hl.Text = "asddddd";

                ctlContainer.Controls.Add(hl);

                break;

        }

    }

 

}

        GridView gdview = new GridView();// (GridView)m_map.Page.FindControl("GridView1");

        gdview.AutoGenerateColumns = false;

        gdview.DataKeyNames = new string[] { "SDE.ST_ZD.ZD_DJH" };

 

        BoundField bf1 = new BoundField();

        BoundField bf2 = new BoundField();

        TemplateField tf = new TemplateField();

 

        bf1.HeaderText = "地籍号";

        bf1.DataField = "SDE.ST_ZD.ZD_DJH";

        bf1.ReadOnly = true;

 

        bf2.HeaderText = "权利人名称";

        bf2.DataField = "SDE.ST_ZD.QLR_MC";

 

        tf.HeaderText = "模板列测试";

        tf.ItemTemplate = new MyTemplate("aaaa", DataControlRowType.DataRow);

 

        CommandField cf = new CommandField();

        cf.ButtonType = ButtonType.Button;

        cf.ShowCancelButton = true;

        cf.ShowEditButton = true;

 

        gdview.Columns.Add(bf1);

        gdview.Columns.Add(bf2);

        gdview.Columns.Add(tf);

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!