2013-03-04 78 views
0

實際上,我在編輯模式下在gridview中限制了一個下拉列表,但問題是,每當我嘗試從下拉列表中選擇另一個值時,它都會自動選擇第一個值。dropdownlist在編輯模式下在gridview中自動選擇第一個值

我也使用了!page_load事件上的IsPostBack屬性,但仍然沒有選擇其他項目。

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (e.Row.RowType == DataControlRowType.DataRow) 
    { 
     if ((e.Row.RowState & DataControlRowState.Edit) > 0) 
     { 

      DropDownList ddlCost_Code = DropDownList)e.Row.FindControl("ddlCost_Code"); 

      BAL bl = new BAL(); 
      DataTable dt_for_CostCode = null; 

      dt_for_CostCode = bl.Select_Cost_Code(); 
      if (dt_for_CostCode.Rows.Count > 0) 
      { 
       ddlCost_Code.DataSource = dt_for_CostCode; 
       ddlCost_Code.DataTextField = "Cost_Code"; 
       ddlCost_Code.DataValueField = "Proposalno"; 
       ddlCost_Code.DataBind(); 
      } 

} 


    if (!IsPostBack) 
    { 


     try 
     { 

      Log_Booked_Info_Through_Booking_Table(); 


     } 
     catch (Exception ex) 
     { 
      WebMsgBox.Show(ex.Message); 
     } 
    } 

} 

回答

0

首先,這將是比較有效。

if (e.Row.RowState == DataControlRowState.Edit) 
{ 
    // your code here 
} 

其次,檢查你的GridView內部下拉的AutoPostBack財產。它是什麼。在你的情況下它應該是錯誤的,除非你在onselectedindexchanged下拉事件中設置了一些邏輯。

+0

你的代碼沒有給出解決方案。我需要使AutoPostBack屬性爲True,因爲我需要在onselectedindexchanged事件上做些什麼。 – Gaurav 2013-03-04 08:46:12

+0

抱歉,傢伙其實我忘了刪除頁面prerender事件,我寫了一些測試。 – Gaurav 2013-03-04 11:00:40

0

試試這個:

ddlCost_Code.SelectedIndex = 0; 
+0

您的代碼無法使用 – Gaurav 2013-03-04 08:48:59

相關問題