首页主机资讯gridview动态添加列的方法

gridview动态添加列的方法

时间2024-07-02 01:16:04发布访客分类主机资讯浏览1236
导读:要在GridView中动态添加列,可以使用以下步骤: 在GridView控件中定义模板列。 在代码中动态添加TemplateField并将其添加到GridView中。 以下是一个示例代码: // 创建一个新的TemplateField...

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

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

以下是一个示例代码:

// 创建一个新的TemplateField
TemplateField 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中动态添加一个列,并定义其内容及样式。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: gridview动态添加列的方法
本文地址: https://pptw.com/jishu/685471.html
gridview与数据库交互的最佳实践 为何c#委托对异步编程很重要

游客 回复需填写必要信息