private void dgCgqhlcb_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item ) 
{
string sqla = String.Empty ;
Label lbl = (System.Web .UI .WebControls .Label )e.Item .FindControl ("lblFlag12");
sqla="SELECT QHJB, USERID, JBMC, USERNAME, PWD, QHJB2 FROM dbo.QHRYZL where QHJB2='"+lbl.Text.ToString ()+"'";
this.sqlSelectCommand2 .CommandText = sqla;
sqlDataAdapter2.Fill (dsQhryzl1);
DropDownList ddl = (DropDownList)e.Item .FindControl ("ddlQhry");
ddl.Items .Clear ();
ddl.DataBind ();
ddl.Items.Add(new ListItem("--Not selected--","0"));
ddl.SelectedIndex = ddl.Items.Count-1;
}
}
为什么lbl.Text.ToString ()抓不到绑定的值呢?

解决方案 »

  1.   

    itemCreate 的时候 还没有进行databinding吧,你在prerender里面遍历datagrid的items然后再绑定你的dropdownlist应该就没什么问题了。
      

  2.   

    把这个事件private void dgCgqhlcb_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    换成DataGrid的绑定事件
      

  3.   

    private void dgCgqhlcb_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)在這里試過了﹐下面在prerender試下
      

  4.   

    在prerender里面遍历datagrid
    行 264:
    出現下面的錯誤?
    並未將物件參考設定為物件的執行個體 
    描述: 在執行目前 Web 要求的過程中發生未處理的例外情形。請檢閱堆疊追蹤以取得錯誤的詳細資訊,以及在程式碼中產生的位置。 例外詳細資訊: System.NullReferenceException: 並未將物件參考設定為物件的執行個體原始程式錯誤: 
    行 262: string sqla = String.Empty ;
    行 263: System.Web .UI .WebControls .Label lbl = (System.Web .UI .WebControls .Label )dgi.FindControl ("lblFlag12");
    行 264: sqla="SELECT QHJB, USERID, JBMC, USERNAME, PWD,QHJB2 FROM dbo.QHRYZL where QHJB2='"+lbl.Text.ToString ()+"'";
    行 265: this.sqlSelectCommand2 .CommandText = sqla;
    行 266: sqlDataAdapter2.Fill (dsQhryzl1);
     原始程式檔: c:\inetpub\wwwroot\sunriseerp\purchase.aspx.cs    行: 264 堆疊追蹤: 
    [NullReferenceException: 並未將物件參考設定為物件的執行個體]
       SunRiseErp.Purchase.dgCgqhlcb_PreRender(Object sender, EventArgs e) in c:\inetpub\wwwroot\sunriseerp\purchase.aspx.cs:264
       System.Web.UI.Control.OnPreRender(EventArgs e) +67
       System.Web.UI.Control.PreRenderRecursiveInternal() +62
       System.Web.UI.Control.PreRenderRecursiveInternal() +125
       System.Web.UI.Control.PreRenderRecursiveInternal() +125
       System.Web.UI.Page.ProcessRequestMain() +1499 
    --------------------------------------------------------------------------------
    版本資訊: Microsoft .NET Framework 版本:1.1.4322.2032; ASP.NET 版本:1.1.4322.2032
      

  5.   

    不好意思找到問題了。
    在prerender里面遍历datagrid問題已解。