DataGrid的动态绑定问题(一)

1 DataGrid本身的列或模板列用代码控制的绑定,只需在附加好数据源和DataBind()方法之间写就可以了,需要注意的是AutoGenerateColumns的属性要是false.
     eg:
        this.DataGrid1.DataSource =dvSouce;

        BoundColumn bc=new BoundColumn();
        bc.DataField="DECL_TITLE";
        bc.HeaderText="哈哈";
        bc.SortExpression =bc.DataField;
        this.DataGrid1.Columns.Add(bc);

        this.DataGrid1.DataBind();   

2 DataGrid中出现的控件或嵌套DataGrid的时候,动态绑定需要写在ItemDataBound的事件中.
   eg:this.DataGrid1.ItemCreated+=new DataGridItemEventHandler(DataGrid1_ItemCreated);
        private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
        {        

              if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem) 
              {  
                  DataGrid dgrd1=(DataGrid)e.Item.FindControl("DataGrid2");

                   dgrd1.DataSource=((DataRowView)e.Item.DataItem).Row.GetChildRows("myrelation");

                    for(int i=0;i<=iYFLocate;i++)

                   {

                        BoundColumn dc=new BoundColumn();

                        dc.DataField=ds.Tables["Gz"].Columns[i].ColumnName;

                        dc.HeaderText=ds.Tables["Gz"].Columns[i].ColumnName;

                        dgrd1.Columns.Add(dc);

                   }

                   dgrd1.DataBind(); 


         }

转载于:https://www.cnblogs.com/xiazhaoxia/archive/2005/08/11/212341.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值