Могу ли я сделать так, чтобы кнопка обновления gridview.editindex = e.rowindex - 1 присутствовала вне gridview
protected void gvMain_RowEditing(object sender, GridViewEditEventArgs e) { }
У меня есть даже хандлар как выше который пуст
на row_Command я получаю данные, и назначить ему текстовые блоки изложе вне GridView в
Теперь я хочу обновить эти данные это обновление но когда я загружаю Gridview любая обновленная строка отображается в режиме редактирования но я не хочу чтобы она была в режиме обновления
Что я уже пробовал:
<div class="row table-responsive grid" style="margin-top: 20px; margin: 1px"> <asp:GridView ID="gvMain" runat="server" HeaderStyle-BackColor="#336699" HeaderStyle-ForeColor="White" Font-Size="15px" PageSize="15" AutoGenerateColumns="false" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" Width="100%" OnRowDataBound="gvMain_RowDataBound" OnRowCommand="gvMain_RowCommand" OnRowEditing="gvMain_RowEditing" OnRowDeleting="gvMain_RowDeleting"> <AlternatingRowStyle BackColor="White" ForeColor="#284775" /> <Columns> <asp:BoundField DataField="Master_Ref_Value_Id" HeaderStyle-CssClass="hide" ItemStyle-CssClass="hide" /> <asp:BoundField DataField="Main_Test_Id" HeaderStyle-CssClass="hide" ItemStyle-CssClass="hide" /> <asp:BoundField HeaderText="Sr.No"> <FooterStyle BackColor="#CCCCCC" /> <HeaderStyle Height="30px" HorizontalAlign="Right"></HeaderStyle> <ItemStyle Height="30px" HorizontalAlign="Left" VerticalAlign="Middle" BorderColor="#CCCCCC" /> </asp:BoundField> <asp:BoundField HeaderText="Ref Name" DataField="Ref_Name" HeaderStyle-HorizontalAlign="Center"> <ItemStyle Height="30px" HorizontalAlign="Left" VerticalAlign="Middle" BorderColor="#CCCCCC" /> </asp:BoundField> <asp:BoundField HeaderText="KeyVal" DataField="KeyVal" HeaderStyle-HorizontalAlign="Center"> <ItemStyle Height="30px" HorizontalAlign="Left" VerticalAlign="Middle" BorderColor="#CCCCCC" /> </asp:BoundField> <asp:BoundField HeaderText="Unit" DataField="Unit" HeaderStyle-HorizontalAlign="Center"> <ItemStyle Height="30px" HorizontalAlign="Left" VerticalAlign="Middle" BorderColor="#CCCCCC" /> </asp:BoundField> <asp:BoundField HeaderText="Value" DataField="Value" HeaderStyle-HorizontalAlign="Center"> <ItemStyle Height="30px" HorizontalAlign="Left" VerticalAlign="Middle" BorderColor="#CCCCCC" /> </asp:BoundField> <asp:BoundField HeaderText="Main_Test" DataField="Main_Test" HeaderStyle-HorizontalAlign="Center"> <ItemStyle Height="30px" HorizontalAlign="Left" VerticalAlign="Middle" BorderColor="#CCCCCC" /> </asp:BoundField> <asp:ButtonField ButtonType="Link" CausesValidation="false" HeaderText="Edit" ControlStyle-ForeColor="blue" CommandName="Edit" Text="Edit"> <HeaderStyle Width="30" /> </asp:ButtonField> <asp:ButtonField ButtonType="Link" CausesValidation="false" HeaderText="Delete" ControlStyle-ForeColor="blue" CommandName="Delete" Text="Delete"> <HeaderStyle Width="30" /> </asp:ButtonField> </Columns> </asp:GridView> </div>
обновление btn вне gridview
<div class="col-md-1"> <asp:Button ID="btnSubmit" runat="server" Text="Submit" CssClass="btn btn-success" ValidationGroup="submit" OnClick="btnSubmit_Click" /> <asp:Button ID="btnUpdate" runat="server" Text="Update" CssClass="btn btn-success" ValidationGroup="submit" OnClick="btnUpdate_Click" /> </div>
protected void gvMain_RowEditing(object sender, GridViewEditEventArgs e) { }
protected void btnUpdate_Click(object sender, EventArgs e) { int MasterRefValueId = 0; int MainTestId = 0; int.TryParse(ddlMainTest.SelectedValue.ToString(), out MainTestId); if (hdnMasterRefValueId.Value != null) { int.TryParse(hdnMasterRefValueId.Value.ToString(), out MasterRefValueId); hdnMasterRefValueId.Value = null; } Master_ref_value objMaster_ref_value = new Master_ref_value(MasterRefValueId, MainTestId, txtRefName.Text, txtKeyVal.Text, txtUnit.Text, txtValue.Text); bool result; result = objMaster_ref_value.Update(); if (result) { lblMessage.Text = "Record Updated Successfully"; lblMessage.ForeColor = System.Drawing.Color.Green; lblMessage.Visible = true; Reset(); ClientScript.RegisterStartupScript(this.GetType(), "alert", "HideLabel();", true); //gvMain.EditIndex = e.RowIndex - 1; } else { lblMessage.Text = "Record Updation failed"; lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Visible = true; Reset(); ClientScript.RegisterStartupScript(this.GetType(), "alert", "HideLabel();", true); } Panel4.Visible = false; fillgridview(); lblMessage.Visible = false; EmpRegistrationpanel2.Visible = false; EmpRegistrationpanel1.Visible = true; }
где я должен использовать
//gvMain.EditIndex = e.RowIndex - 1;
Vincent Maverick Durano
Я не уверен, что правильно вас понял. Вы можете, пожалуйста, пояснить?
Herman<T>.Instance
То, что он, кажется, хочет, это когда вы нажимаете строку 0, что строка -1 устанавливается в EditMode.
Vincent Maverick Durano
Я снова перечитал вопрос и думаю, что это не так.