关闭

动态创建并关绑定到GridView中

标签: constantsstringtableaspborderobject
1801人阅读 评论(0) 收藏 举报

首先创建一个GridView控制,并添加<Columns></Columns>为以后创建绑定列做好准备!HTML代码如下:

<table border="0" cellpadding="0" cellspacing="0">

            <tr>

                <td>

                    <strong>Dynamic Grid</strong></td>

            </tr>

            <tr>

                <td>

                    <asp:GridView ID="GrdDynamic" runat="server" AutoGenerateColumns="False">

                    <Columns>

                    </Columns>

                    </asp:GridView>

                   

                </td>

            </tr>

        </table>

这是后台代码,如下 :

public partial class _Default : System.Web.UI.Page

{

    #region constants

    const string NAME = "NAME";

    const string ID = "ID";

    #endregion

 

    protected void Page_Load(object sender, EventArgs e)

    {

        loadDynamicGrid();

    }

 

    private void loadDynamicGrid()

    {

        #region Code for preparing the DataTable

 

        //创建一个DatTable实例dt;

        DataTable dt = new DataTable();

       

        //创建ID列,并把它加到dt中.

        DataColumn dcol = new DataColumn(ID ,typeof(System.Int32));

        dcol.AutoIncrement = true;

        dt.Columns.Add(dcol);

 

        //创建一个NAME列,并加入到dt中,

        dcol = new DataColumn(NAME, typeof(System.String));

        dt.Columns.Add(dcol);

 

        //现在动态的添加列.

        //当第一列自动添加,我们没有添加任何东西.

        //我们来增加一些数据到列中.

        for (int nIndex = 0; nIndex < 10; nIndex++)

        {

            //创建一行.

            DataRow drow = dt.NewRow();

 

            //把数据插入到行的列中.

            drow[NAME] = "Row-" + Convert.ToString((nIndex + 1));

 

            //把行加到表.

            dt.Rows.Add(drow);

        }

        #endregion

 

        foreach (DataColumn col in dt.Columns)

        {

           

            BoundField bfield = new BoundField();

            bfield.DataField = col.ColumnName;

            bfield.HeaderText = col.ColumnName;

            GrdDynamic.Columns.Add(bfield);

        }

 

        GrdDynamic.DataSource = dt;

        GrdDynamic.DataBind();

    }

}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:82169次
    • 积分:1165
    • 等级:
    • 排名:千里之外
    • 原创:27篇
    • 转载:30篇
    • 译文:0篇
    • 评论:11条
    NET相关
    WEB开发相关
    网络、网络安全等相关