删除行到表后刷新Listview [英] Refresh Listview after delete a row into table
本文介绍了删除行到表后刷新Listview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
你好
在我的asp.net应用程序中有一个名为(pendingorderLV)的Listview显示了客户的挂单,它包含删除订单的删除按钮,我要找的是当用户点击每个删除按钮并显示剩余订单时,我如何使列表视图自动刷新。
代码后面的listview,用户可以从中获取它按钮进入我的应用程序名为:gotovieworder
Hello
Into my asp.net application there is a Listview called ( pendingorderLV ) shown the pending orders of the customer and it include a delete button to delete the orders, what i am looking for is how i can make the listview refresh it self when the user click on each delete button and show the remain orders.
the listview behind code where user can reach it from a button into my application called: gotovieworder
protected void gotovieworder_Click(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 7;
if (Session["UsrNme"] != null)
{
var user = Session["UsrNme"];
using (var UsOrderCon = new SqlConnection(sc))
{
UsOrderCon.Open();
string chksUsOrderstring = "Select count (*) from ShoppingCart where UID=@chkUID";
SqlCommand ChkUsOrderCMD = new SqlCommand(chksUsOrderstring, UsOrderCon);
ChkUsOrderCMD.Parameters.AddWithValue("@chkUID", user);
var orderExists = (Int32)ChkUsOrderCMD.ExecuteScalar() > 0;
if (orderExists)
{
pendingorderpanel.Visible = true;
SqlDataAdapter UsOrderADPA = new SqlDataAdapter("SELECT [UID], [Product], [DateAdded], [PayMeth], [ProdDesc], [CartID] FROM [ShoppingCart] WHERE [UID] = @uSer ", sc);
UsOrderADPA.SelectCommand.Parameters.AddWithValue("@uSer", Convert.ToString(Session["UsrNme"]));
DataSet UsOrderDST = new DataSet();
UsOrderADPA.Fill(UsOrderDST);
pendingorderLV.DataSource = UsOrderDST.Tables[0];
pendingorderLV.DataBind();
pendingorderpanel.Visible = true;
}
else
{
UsexcOrderpanel.Visible = true;
UsOrderlbl.Text = "You dont have any orders, if you would like to become a premium user";
}
}
}
}
列表视图中的删除按钮代码背后是:
And the delete button inside the listview behind code is:
protected void deltPendOrder_Command(object sender, CommandEventArgs e)
{
using (SqlConnection DeltPndOrdSQLCon = new SqlConnection(sc))
{
int OrdPendID = Convert.ToInt32(e.CommandArgument);
System.Data.SqlClient.SqlCommand DeltPendOrdcmd = new System.Data.SqlClient.SqlCommand();
DeltPendOrdcmd.CommandType = System.Data.CommandType.Text;
DeltPendOrdcmd.CommandText = "DELETE FROM ShoppingCart WHERE CartID = @CartID";
DeltPendOrdcmd.Parameters.AddWithValue("@CartID", OrdPendID);
DeltPendOrdcmd.Connection = DeltPndOrdSQLCon;
DeltPndOrdSQLCon.Open();
DeltPendOrdcmd.ExecuteNonQuery();
DeltPndOrdSQLCon.Close();
viewmsgView.Visible = true;
}
}
推荐答案
//This should be close. I can't test it because I don't have your datasource.
//I took out the call to the database and stuck it in its own method.
//Then after you delete, you refresh the grid with fresh data.
protected void gotovieworder_Click(object sender, EventArgs e)
{
MultiView1.ActiveViewIndex = 7;
if (Session["UsrNme"] != null)
{
var user = Session["UsrNme"];
using (var UsOrderCon = new SqlConnection(sc))
{
UsOrderCon.Open();
string chksUsOrderstring = "Select count (*) from ShoppingCart where UID=@chkUID";
SqlCommand ChkUsOrderCMD = new SqlCommand(chksUsOrderstring, UsOrderCon);
ChkUsOrderCMD.Parameters.AddWithValue("@chkUID", user);
var orderExists = (Int32)ChkUsOrderCMD.ExecuteScalar() > 0;
if (orderExists)
{
BindData();
pendingorderpanel.Visible = true;
}
else
{
UsexcOrderpanel.Visible = true;
UsOrderlbl.Text = "You dont have any orders, if you would like to become a premium user";
}
}
}
}
protected void deltPendOrder_Command(object sender, CommandEventArgs e)
{
using (SqlConnection DeltPndOrdSQLCon = new SqlConnection(sc))
{
int OrdPendID = Convert.ToInt32(e.CommandArgument);
System.Data.SqlClient.SqlCommand DeltPendOrdcmd = new System.Data.SqlClient.SqlCommand();
DeltPendOrdcmd.CommandType = System.Data.CommandType.Text;
DeltPendOrdcmd.CommandText = "DELETE FROM ShoppingCart WHERE CartID = @CartID";
DeltPendOrdcmd.Parameters.AddWithValue("@CartID", OrdPendID);
DeltPendOrdcmd.Connection = DeltPndOrdSQLCon;
DeltPndOrdSQLCon.Open();
DeltPendOrdcmd.ExecuteNonQuery();
DeltPndOrdSQLCon.Close();
viewmsgView.Visible = true;
}
BindData();
}
protected void BindData()
{
SqlDataAdapter UsOrderADPA = new SqlDataAdapter("SELECT [UID], [Product], [DateAdded], [PayMeth], [ProdDesc], [CartID] FROM [ShoppingCart] WHERE [UID] = @uSer ", sc);
UsOrderADPA.SelectCommand.Parameters.AddWithValue("@uSer", Convert.ToString(Session["UsrNme"]));
DataSet UsOrderDST = new DataSet();
UsOrderADPA.Fill(UsOrderDST);
pendingorderLV.DataSource = UsOrderDST.Tables[0];
pendingorderLV.DataBind();
}
这篇关于删除行到表后刷新Listview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文