C# GridView中的行编辑不起作用

C# GridView中的行编辑不起作用,c#,asp.net,gridview,C#,Asp.net,Gridview,我试图将GridView中的记录模式更改为“编辑模式”,即当用户单击GridView中的编辑按钮编辑特定记录时 我使用以下代码: protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; SqlConnection con = new SqlConnec

我试图将GridView中的记录模式更改为“编辑模式”,即当用户单击GridView中的编辑按钮编辑特定记录时

我使用以下代码:

                protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        SqlConnection con = new SqlConnection("Data Source=MEHDI-PC\\SQLEXPRESS;Initial Catalog=PIMS;Integrated Security=True");

        string sql = "select [DwgRegID],[Ref],[Dwg_Ref],[Title],[Dwg_Received_Date],[Rev],[Trade],[Type],[Produced_Date],[Produced_By],[Submittal_Ref],[Issued_To],[Date_Issued],[Purpose],[Status],[Action_Date] from dbo.Dwg_Register where [DwgRegID]=N'" + GridView1.Rows[e.NewEditIndex].Cells[1].Text + "'";
        con.Open();

        SqlDataAdapter adp = new SqlDataAdapter(sql, con);
        DataSet ds = new DataSet();
        adp.Fill(ds);
        if (con != null)
        {
            con.Close();
        }
        GridView1.DataSource = ds;
        GridView1.DataBind();
但它不起作用。程序只是将我从EDITRECORD视图抛出到home视图

Gridview结构(.aspx)如下所示:

GridView结构部分为:

    <asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" CellPadding="4" ForeColor="#333333" GridLines="None" OnRowEditing="GridView1_RowEditing" DataKeyNames="DwgRegID" OnRowUpdating="GridView1_RowUpdating" OnRowDeleting="GridView1_RowDeleting" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowUpdated="GridView1_RowUpdated" >
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
            <EditRowStyle BackColor="#999999" />
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <SortedAscendingCellStyle BackColor="#E9E7E2" />
            <SortedAscendingHeaderStyle BackColor="#506C8C" />
            <SortedDescendingCellStyle BackColor="#FFFDF8" />
            <SortedDescendingHeaderStyle BackColor="#6F8DAE" />
        </asp:GridView>

请帮忙


将EditIndex属性设置为适当的行,然后将GridView重新绑定到其数据源

这是密码

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
   {
    GridView1.EditIndex = e.NewEditIndex;
    BindGrid();

   }

您可以阅读更多“编辑记录视图到主视图”这是什么意思?请发布gridview结构(aspx部分)@TimSchmelter:我有两个视图(ViewHome、ViewGrid)。主视图包含具有不同选项的按钮,如“插入记录”、“编辑记录”、“更新记录”等。ViewGrid上有GridView。因此,当用户单击“主视图”上的“编辑记录”时,程序会将用户带到“视图网格”(ViewGrid)。希望您能理解。@Md.ParvezAlam:Gridview结构部分太长,无法粘贴到此处。。有没有其他的粘贴方法?嘿,我想你没有提供数据源,你能检查一下我的代码,告诉我哪里出错了吗?因为我无法理解你的解决方案。谢谢。@Microtechie:您的解决方案出现以下错误:索引超出范围。必须是非负数且小于集合的大小。请检查,我已修改了我的答案。请尝试让我知道
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
    GridView1.EditIndex = e.NewEditIndex;
///////////GridView1.Datasource = datasource;  // here you missing
    GridView1.DataBind(); 
}
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        GridView1.EditIndex = e.NewEditIndex;
        DataBind();
    }