【问题标题】:dropdownlist auto select first value in gridview with edit mode下拉列表在编辑模式下自动选择gridview中的第一个值
【发布时间】:2013-03-04 06:51:07
【问题描述】:

实际上我已经在编辑模式下在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);
        }
    }

}

【问题讨论】:

    标签: c# gridview drop-down-menu ispostback


    【解决方案1】:

    首先,这样会更有效率。

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

    其次,检查 gridview 中 DropDown 的 AutoPostBack 属性。它设置为什么。在您的情况下它应该是错误的,除非您在下拉的onselectedindexchanged 事件上设置了一些逻辑。

    【讨论】:

    • 您的代码没有给出解决方案。我需要将 AutoPostBack 属性设为 True,因为我需要对 onselectedindexchanged 事件做一些事情。
    • 对不起,伙计们实际上我忘记删除页面预渲染事件,我为一些测试而编写。
    【解决方案2】:

    试试这个:

    ddlCost_Code.SelectedIndex = 0;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-26
      • 2019-06-22
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 2014-10-04
      • 2019-01-13
      • 1970-01-01
      相关资源
      最近更新 更多