2013-03-04 86 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

相关问题