Редактируемый GridView постбэк какая-то другая проблема - PullRequest
0 голосов
/ 21 сентября 2019
I have an editable grid view which has 3 text boxes & 6 dropdownlists. Each previous dropdownlist drives the next one & based upon previous dropdownlist selection criteria the next dropdownlist gets populated. 

The 4 drop-down list criteria fills the couple of textbook values with its unique values in each row, but the problem is whenever I select any dropdownlist all text boxes updates with the same values instead of unique per row value. 

    enter code here

Также бывает, когда я нажимаю кнопку «Сохранить», текстовое поле описания также теряет свое значение в выпадающих списках и при любом событии обратной передачи.

Пожалуйста, помогите, чтобы каждое текстовое поле в строке имело отличное значение от базы данных на основе связанных с ним критериев раскрывающегося списка и текстового поля описания, а также не теряло своего значения при обратной передаче.

У меня есть событие привязки к сетке данныхизменение выбранного индекса для привязки раскрывающегося списка из базы данных, а также присвоение значений элементам управления в e.Row.RowState & DataControlRowState.Edit>0 Gridview:

                                         <asp:TemplateField HeaderText="In-Outbound/Process" ItemStyle-Width="80px">
                                            <EditItemTemplate>
                                                <asp:DropDownList ID="ddlIPC" runat="server" Font-Size="14px"
                                                 OnSelectedIndexChanged="ddlIPC_SelectedIndexChanged" AutoPostBack="true">
                                                </asp:DropDownList>
                                            </EditItemTemplate>
                                            <ItemTemplate>
                                                <asp:Label ID="lblIPC" runat="server" Text='<%# Bind("InOutBound") %>'></asp:Label>
                                            </ItemTemplate>
                                        </asp:TemplateField>

                                           <asp:TemplateField HeaderText="Type" ItemStyle-Width="80px">
                                            <EditItemTemplate>
                                                <asp:DropDownList ID="ddlType" runat="server" Font-Size="14px"
                                                   OnSelectedIndexChanged="ddlType_SelectedIndexChanged" AutoPostBack="true">
                                                </asp:DropDownList>
                                            </EditItemTemplate>
                                            <ItemTemplate>
                                                <asp:Label ID="lblType" runat="server" Text='<%# Bind("Type") %>'></asp:Label>
                                            </ItemTemplate>
                                        </asp:TemplateField>
                                             <asp:TemplateField HeaderText="ADP Complexity" ItemStyle-Width="80px">
                                            <EditItemTemplate>
                                                <asp:DropDownList ID="ddlComplexity" runat="server" Font-Size="14px" OnSelectedIndexChanged="ddlComplexity_SelectedIndexChanged" AutoPostBack="true">
                                                </asp:DropDownList>
                                            </EditItemTemplate>
                                            <ItemTemplate>
                                                <asp:Label ID="lblcomplex" runat="server" Text='<%# Bind("Complexity") %>'></asp:Label>
                                            </ItemTemplate>
                                        </asp:TemplateField>



  string des = drv["Description"].ToString();
                // e.Row.Cells[0].Text = drv["Description"].ToString();

                    txtassumptions.Text = drv["Assumptions"].ToString();
                    txtHour.Text = drv["Hours"].ToString();


  DropDownList ddlComplexity = (DropDownList)sender;
            GridViewRow row = (GridViewRow)ddlComplexity.NamingContainer;
            TextBox txtassumptions = (TextBox)row.FindControl("txtAssump");
            TextBox txtHour = (TextBox)row.FindControl("txtHour");
            if (row != null)
          {
            int ComplexityValue = Convert.ToInt32(ddlComplexity.SelectedIndex);
            string strComplex = ddlComplexity.SelectedItem.Text;
            Session["ddlComplex"] = ComplexityValue;
            Session["ddlComplextext"] = strComplex;
            string strInOPP = ""; string strtype = ""; string strcomplexity = "";
            if (Session["ddlInOtext"] != null)
            {
                strInOPP = Session["ddlInOtext"].ToString();
            }
            if (Session["ddlTypetext"] != null)
            {
                strtype = Session["ddlTypetext"].ToString();
            }
            if (Session["ddlComplextext"] != null)
            {
                strcomplexity = Session["ddlComplextext"].ToString();
            }

            Payroll pay = new Payroll(ConfigurationManager.ConnectionStrings["SalesDeals"].ConnectionString);
            string first = strInOPP.Replace("\r\n", string.Empty);
            string second = strtype.Replace("\r\n", string.Empty);
            string third = strcomplexity.Replace("\r\n", string.Empty);
            if (pay.GetPayrollCoreHours(second, first, third).Rows.Count > 0)
            {
                foreach (DataRow dr in pay.GetPayrollCoreHours(second, first, third).Rows)
                {
                    txtassumptions.Text = dr["Assumptions"].ToString();
                    Session["assum"] = txtassumptions.Text;
                    if (dr["Hours"].ToString() != null)
                    {
                        txtHour.Text = dr["Hours"].ToString();
                        Session["hour"] = txtHour.Text;
                    }
                    else
                    {
                        txtHour.Text = "0";

                    }
                    break;
                }`enter code here`
            }

    }

        ddlComplexity.DataBind();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...