C#中DataGrid 重新绑定数据的代码

来源:互联网 发布:网络ppt是什么意思 编辑:程序博客网 时间:2024/06/05 02:49
在datagrid中设置一个超链接列的过程如下:
拖一个datagrid下来,然后再属性编辑器里面选择columns,不要选中Create columns automatically at run time.
在column list中选HyperLink Column,在属性中设置header text为你要在datagrid 表头显示的内容,Text field 设置成你数据库的字段,url field设置 成你数据库字段。
url format string 设置成xxx.aspx?id={0},其中xxx是你要连接到的页面 后面的id={0}应该是固定的。
设置好之后通过datagrid.datasource;datagrid.dataBind();就可以在datagrid中通过超链接显示内容了。
datagrid 重新绑定数据的过程:
1.生成一个DataTable:
        public DataTable getDataTable(){
            DataTable dt=new DataTable();
            dt.Columns.Add(new DataColumn("id",typeof(int)));
            dt.Columns.Add(new DataColumn("name",typeof(string)));
            dt.Columns.Add(new DataColumn("address",typeof(string)));
            DataRow dr;
            for(int i=0;i<10;i++){
                dr=dt.NewRow();
                dr[0]=i;
                dr[1]="name:"+Convert.ToString(i);
                dr[2]="address:"+Convert.ToString(i);
                dt.Rows.Add(dr);
            }
            return dt;
        }
2.修改datagrid的列头和列属性定义
public void modifyColumnDefine(){
    HyperLinkColumn  hlc=(HyperLinkColumn)datagrid.Columns[1];
    hlc.DataNavigateUrlField="name";
    hlc.DataNavigateUrlFormatString="showinfo.aspx?id={0}";
    hlc.DataTextField="name";
    hlc.HeaderText="name";
    BoundColumn bc0=(BoundColumn)datagrid.Columns[0];
    bc0.HeaderText="id";
    bc0.DataField="id";
    BoundColumn bc2=(BoundColumn)datagrid.Columns[2];
    bc2.HeaderText="address";
    bc2.DataField="address";
}
3.重新绑定数据
    public void reBindDG(){
            modifyColumnDefine();
            datagrid.DataSource=getDataTable();
            datagrid.DataBind();
    }

原创粉丝点击