jqGrid:单击“编辑”按钮打开自定义表单,编辑后刷新该行

时间:2014-04-04 05:23:24

标签: javascript jquery asp.net jqgrid

我需要点击“编辑”按钮打开一个自定义表单,该按钮出现在jqGird的每一行上。在这里,我知道,我必须在名为'OnEdit'的事件上打开此表单。对于自定义表单,我将传递所选行的信息,以便我可以编辑我的信息,然后单击表单上的“保存”按钮。

点击“保存”按钮后,应该发生以下事情: 1.所有修改后的数据都将插入数据库中 2应使用修改后的值更新所选行。

请告诉我如何才能做到这一点。另请告诉我您的建议。

注意:我正在使用ASP .Net MVC网站。 谢谢

1 个答案:

答案 0 :(得分:0)

基本要点:

1)使用Panel
打开/关闭gridview和编辑表单  2)您使用OnRowCommand来触发编辑  3)表单中有其他按钮可以触发保存/取消/关闭

这是基本代码:

<asp:Panel id="pnlViewList" runat="server">
    <asp:GridView ID="gvMyList" OnRowCommand="RowCommand" DataKeyNames="UserId" ..........>
        <Columns>
            <asp:ButtonField Text="Edit" CommandName="EditMe" />
            ........rest of your fields.........
        </Columns>
    </asp:GridView>
</asp:Panel>

<asp:Panel id="pnlEdit" runat="server">
    <h2>form edit</h2>
    Name : <asp:textbox id="txtName" runat="server" />
    ........rest of your form.........
</asp:Panel>

并在后面的代码中从网格视图捕获编辑。

protected void RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "EditMe")
    {
        int iTheIndexNow;
        if (int.TryParse(e.CommandArgument.ToString(), out iTheIndexNow))
        {
                gvMyList.SelectedIndex = iTheIndexNow;
                // close the gridview, open the form
                pnlEdit.Visible = true;
                pnlViewList.Visible = false;
                // load the form for editing
                LoadLineForEditing(gvMyList.SelectedValue.ToString());
        }
    }
}