gridview动态添加列的方法

   2024-10-07 8940
核心提示:要在GridView中动态添加列,可以使用以下步骤:在GridView控件中定义模板列。在代码中动态添加TemplateField并将其添加到GridVie

要在GridView中动态添加列,可以使用以下步骤:

在GridView控件中定义模板列。在代码中动态添加TemplateField并将其添加到GridView中。

以下是一个示例代码:

// 创建一个新的TemplateFieldTemplateField templateField = new TemplateField();templateField.HeaderTemplate = new GridViewTemplate(ListItemType.Header, "New Column Header");templateField.ItemTemplate = new GridViewTemplate(ListItemType.Item, "ItemTemplate");templateField.EditItemTemplate = new GridViewTemplate(ListItemType.EditItem, "EditItemTemplate");// 将TemplateField添加到GridView中GridView1.Columns.Add(templateField);

在上面的示例中,GridViewTemplate是自定义的一个类,用来定义列的模板。在GridViewTemplate类中,需要实现InstantiateIn方法来定义模板列的内容。

public class GridViewTemplate : ITemplate{    private ListItemType _type;    private string _columnName;    public GridViewTemplate(ListItemType type, string colname)    {        _type = type;        _columnName = colname;    }    public void InstantiateIn(Control container)    {        switch (_type)        {            case ListItemType.Header:                Literal headerLiteral = new Literal();                headerLiteral.Text = "<b>" + _columnName + "</b>";                container.Controls.Add(headerLiteral);                break;            case ListItemType.Item:                Literal itemLiteral = new Literal();                itemLiteral.DataBinding += new EventHandler(itemLiteral_DataBinding);                container.Controls.Add(itemLiteral);                break;            case ListItemType.EditItem:                TextBox txtEdit = new TextBox();                txtEdit.ID = "txtEdit" + _columnName;                container.Controls.Add(txtEdit);                break;        }    }    private void itemLiteral_DataBinding(object sender, EventArgs e)    {        Literal itemLiteral = (Literal)sender;        GridViewRow container = (GridViewRow)itemLiteral.NamingContainer;        itemLiteral.Text = DataBinder.Eval(container.DataItem, _columnName).ToString();    }}

通过以上步骤,就可以在GridView中动态添加一个列,并定义其内容及样式。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号