如何更新Gridview [英] How Do I Update A Gridview

查看:71
本文介绍了如何更新Gridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好



我有一个想要完成的网格视图,每当我点击更新时它都不会更新。



我试图插入一个断点但它没有检测到任何错误。



Hello

I have a gridview that m trying to complete, everytime when i click update it does not update.

I tryed to insert a breakpoint but it does not detect any error.

 <asp:TemplateField HeaderText="Status">
   <ItemTemplate>
    <%# Eval("ProductStatus").ToString().Equals("2") ? "Available" : "NotAvailable" %>
                                        </ItemTemplate>
  <EditItemTemplate>
     asp:DropDownList ID="drop" runat="server" Value='<%# Eval("ProductStatus") %>'>
     <asp:ListItem Text="Available" Value="2"></asp:ListItem>
     <asp:ListItem Text="Not Available" Value="1"></asp:ListItem>
    </asp:DropDownList>
  </EditItemTemplate>
</asp:TemplateField>





当我选择下拉列表时,它只读取并更新第一个listItem,其值为2,但是当我选择第二个listItem时我没有更新它





这是代码behine





When i select dropdownlist, it only read and update First listItem with value = "2" but when i select the second listItem i does not update it


Here is the code behine

protected void UpdateRow(object sender, GridViewUpdateEventArgs e)
       {
           Invoice ad = new Invoice();


           var autoID = gridAll.DataKeys[e.RowIndex].Value;
           GridViewRow row = gridAll.Rows[e.RowIndex] as GridViewRow;


           DropDownList dropStatus = row.FindControl("drop") as DropDownList;

           using (SqlConnection conn = new SqlConnection(ConnString))
           {

               string sql = "Update Product set ProductStatus = @ProductStatus WHERE ProductID = @ProductID";
               using (SqlCommand cmd = new SqlCommand(sql, conn))
               {

                   try
                   {
                       cmd.Parameters.AddWithValue("@ProductStatus", dropStatus.SelectedValue);
                       cmd.Parameters.AddWithValue("@ProductID", autoID);
                       conn.Open();
                       cmd.ExecuteNonQuery();

                       conn.Close();
                   }
                   catch (Exception)
                   {

                   }
                   lblMessage.Text = "Record updated sussesfully!";
                   Label1.Text = "";
               }
           }


           gridAll.EditIndex = -1;
           this.PopulateData();


       }

推荐答案

在你的UPDATE按钮中再添一个字段gridview。

然后你需要处理所需gridview的RowUpdating()事件。

并将你的更新逻辑放在那个事件中。



尚不清楚?请参考这。:)



谢谢..
Make one more field for UPDATE button in your gridview.
Then you need to handle RowUpdating() event of desired gridview.
and put your update logic in that event.

Not clear yet? please refer this.:)

thanks..


string id = ((Label)GvMovies.Rows[e.RowIndex].FindControl("lblID")).Text;
        string title = ((TextBox)GvMovies.Rows[e.RowIndex].FindControl("txttitle")).Text;
        string director = ((TextBox)GvMovies.Rows[e.RowIndex].FindControl("txtdirector")).Text;
        cmd.CommandText = "update tbl_movies set title='" + title + "',director='"+ director +"' where id=" + id;
        cmd.Connection = con;
        con.Open();
        cmd.ExecuteScalar();
        con.Close();
        GvMovies.EditIndex = -1;
        fetchData();





参考: - 更新gridview


这篇关于如何更新Gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆