为什么我在运行时向其添加项目后,gridview的edit \ update不起作用

时间:2017-06-30 04:12:01

标签: asp.net datagridview

在我的页面上,我有一个文本框和一个提交按钮,它将一个项目添加到我的gridview,它具有编辑/更新功能。所有这些都在更新面板中。

我使用sqlreader将gridview与来自数据库的数据绑定。编辑/更新选项在第一次绑定时工作正常。但是一旦我在运行时添加了一个Item,新添加的项就会添加到我的gridview中,但编辑更新会停止工作。此外,之后无法添加新项目。

请在下面找到我的示例代码

  • 这是我的HTML代码:

  •   -

<li>
                                               <input type="radio" id="tabb" name="tabs11"/>
                                               <label for="tabb">Family Name</label>
                                               <div id="tab-content12" class="tab-content animated fadeIn" style="background-color:white; padding:10px;" >
                                                   <asp:UpdatePanel ID="UpdatePanel4" runat="server">
                                                      <ContentTemplate>
                                                          <asp:Button ID="BtnAddFamilyName" runat="server" Text="Add" CssClass="buttons" OnClick="BtnAddFamilyName_Click" /><br />
                                                          <asp:Label ID="Label1" runat="server" Text="Enter Family Name"></asp:Label>&nbsp;&nbsp;
                                                          <asp:TextBox ID="FamilyNameTextBox" runat="server" CssClass="inputs" placeholder="Enter Family Name"></asp:TextBox>&nbsp;&nbsp;
                                                          <asp:Button ID="BtnSubmitFamilyName" runat="server" Text="Submit" OnClick="BtnSubmitFamilyName_Click" CssClass="inputs"/><br /><br />
                                                          <asp:GridView ID="gdvEDitFamilyName" runat="server" OnRowEditing="gdvEDitFamilyName_RowEditing" OnRowCancelingEdit="gdvEDitFamilyName_RowCancelingEdit" OnRowUpdating="gdvEDitFamilyName_RowUpdating" AutoGenerateEditButton="true" DataKeyNames="FamilyId" CssClass="grid" RowStyle-CssClass="rows">
                                                          </asp:GridView>
                                                      </ContentTemplate>
                                                    </asp:UpdatePanel>          
                                               </div>
                                           </li>

2:我的代码隐藏了绑定gridview:

SqlDataReader reader = DataExecuter.ReadMultipleRows("spBindHIGridview", 
              CommandType.StoredProcedure);
reader.NextResult();
gdvEDitFamilyName.DataSource = reader;
gdvEDitFamilyName.DataBind();

3:我将代码添加到网格中的代码:

protected void BtnSubmitFamilyName_Click(object sender, EventArgs e)
        {
            if (FamilyNameTextBox.Text.Equals(""))
            {
                ScriptManager.RegisterClientScriptBlock(this, 
                this.GetType(), "alertMessage", "alert('Please enter a 
                 value')", true);
            }
            else
            {

                DataExecuter.ExecuteCommand("spInsertFamilyName", new[,] { { 
                "@FamilyName", FamilyNameTextBox.Text } }, 
                CommandType.StoredProcedure);
                this.BindDdl();
                this.BindGrid();
                ScriptManager.RegisterClientScriptBlock(this, 
                this.GetType(), "alertMessage", "alert('Record Inserted 
                Successfully')", true);
            }
        }

在第3步之后,我无法添加新项目或编辑/更新gridview

0 个答案:

没有答案