0

実際には、編集モードのグリッドビューでドロップダウンリストを制限しましたが、ドロップダウンリストから別の値を選択しようとすると、最初の値が自動的に選択されるという問題があります。

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);
        }
    }

}
4

2 に答える 2

0

これを試して:

ddlCost_Code.SelectedIndex = 0;
于 2013-03-04T08:13:09.023 に答える
0

まず、これはより効率的になります。

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

次に、AutoPostBackグリッドビュー内の DropDown のプロパティを確認します。何に設定されていますか。onselectedindexchangedドロップダウンのイベントに何らかのロジックが設定されていない限り、あなたの場合は false である必要があります。

于 2013-03-04T07:37:08.777 に答える