Как я могу сохранить запись новой добавленной строки представления сетки относительно скрытого поля если идентификатор скрытого поля пуст я хочу сохранить эту запись
<asp:GridView ID="grdParticular" runat="server" ShowHeaderWhenEmpty="true" EmptyDataText="No data in gridview" Visible="true" CssClass="table table-striped table-bordered" ShowFooter="True" ShowHeader="true" AutoGenerateColumns="False" DataKeyNames="particula_id"> <columns> <asp:TemplateField HeaderText="ID" Visible="false"> <itemtemplate> <asp:HiddenField runat="server" ID="ParID" Value='<%# Eval("particula_id")%>' /> <asp:TemplateField HeaderText="Particular"> <itemtemplate> <asp:TextBox ID="txtPArticular" Text='<%# Eval ("par")%>' runat="server"> <asp:TemplateField HeaderText="Result"> <itemtemplate> <asp:TextBox ID="txtResult" Text='<%# Eval ("result")%>' runat="server"> <asp:TemplateField HeaderText="Unit"> <itemtemplate> <asp:TextBox ID="txtUnit" runat="server" Text='<%# Eval ("unit")%>'> <asp:TemplateField HeaderText="Value"> <itemtemplate> <asp:TextBox ID="txtValue" runat="server" Text='<%# Eval ("value")%>'> <asp:templatefield> <itemtemplate> <asp:Button ID="ButtonAddNewRow" runat="server" Text="Add Row" OnClick="ButtonAddNewRow_Click" />
Что я уже пробовал:
protected void ButtonAddNewRow_Click(object sender, EventArgs e) { int rowIndex = 0; if (ViewState["datatable"] != null) { DataTable dtCurrentTable = (DataTable)ViewState["datatable"]; DataRow drCurrentRow = null; if (dtCurrentTable.Rows.Count > 0) { for (int i = 1; i <= dtCurrentTable.Rows.Count; i++) { //extract the TextBox values TextBox box1 = (TextBox)grdParticular.Rows[rowIndex].Cells[1].FindControl("txtPArticular"); TextBox box2 = (TextBox)grdParticular.Rows[rowIndex].Cells[2].FindControl("txtResult"); TextBox box3 = (TextBox)grdParticular.Rows[rowIndex].Cells[3].FindControl("txtUnit"); TextBox box4 = (TextBox)grdParticular.Rows[rowIndex].Cells[4].FindControl("txtValue"); drCurrentRow = dtCurrentTable.NewRow(); //drCurrentRow["RowNumber"] = i + 1; dtCurrentTable.Rows[i - 1]["par"] = box1.Text; dtCurrentTable.Rows[i - 1]["Result"] = box2.Text; dtCurrentTable.Rows[i - 1]["Unit"] = box3.Text; dtCurrentTable.Rows[i - 1]["Value"] = box4.Text; rowIndex++; } dtCurrentTable.Rows.Add(drCurrentRow); ViewState["datatable"] = dtCurrentTable; grdParticular.DataSource = dtCurrentTable; grdParticular.DataBind(); } } else { Response.Write("ViewState is null"); } }
Maciej Los
Это не очень хорошо сформулированный вопрос (если даже он есть...). Вы должны предоставить более подробную информацию о своей проблеме, а не только код проводки.
Hazrat Ali 007
хорошо спасибо сэр я справился со своей проблемой получив некоторую помощь от сети и еще раз спасибо что ответили мне
ZurdoDev
В этом нет никакого смысла.