以下为文件源代码,当修改数量后,点击更新,无法自动更新,唉!
特别有意思的是,当我点击button的批量更新时,第一次点击不起作用,第二次点击,出现更改后的值,第三次又变回以前的值,唉!
高手GGMM,救命啊
public DataGrid dlBuyCar;
public Button Url;
public Button CarClear;
private void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
BindGrid(); }
} public void BindGrid()
{
DataTable myDt;
DataRow myDr;
string str = ""; myDt = new DataTable();
myDt.Columns.Add(new DataColumn("cBookID",str.GetType()));
myDt.Columns.Add(new DataColumn("cName",str.GetType()));
myDt.Columns.Add(new DataColumn("cListPrice",str.GetType()));
myDt.Columns.Add(new DataColumn("cMemberPrice",str.GetType()));
myDt.Columns.Add(new DataColumn("cVipPrice",str.GetType()));
myDt.Columns.Add(new DataColumn("cNum",str.GetType()));
myDt.Columns.Add(new DataColumn("cTotal",str.GetType())); if(!Object.Equals(Request.Cookies["Shoppingcart"],null))
{
HttpCookie cookie = Request.Cookies["ShoppingCart"];
for(int i = 0; i < cookie.Values.Count; i++)
{
int id;
double totle;
myDr = myDt.NewRow();
if((cookie.Values.AllKeys[i]!="")&&(cookie.Values[i]!=""))
{ id = int.Parse(cookie.Values.AllKeys[i]);
string strBookSelectSQL = "SELECT BookID,Name,ListPrice,MemberPrice,VipPrice FROM Fy_BookInfos WHERE BookID = " + id;
OleDbDataReader BookInfosReader = DbBase.ExecuteSql4Reader(strBookSelectSQL);
BookInfosReader.Read();
myDr[0]=BookInfosReader["BookID"].ToString();
myDr[1]=BookInfosReader["Name"].ToString();
myDr[2]=BookInfosReader["ListPrice"].ToString();
myDr[3]=BookInfosReader["MemberPrice"].ToString();
myDr[4]=BookInfosReader["VipPrice"].ToString();
myDr[5]=cookie.Values[i];
totle=double.Parse(BookInfosReader["MemberPrice"].ToString())*double.Parse(myDr[5].ToString());
myDr[6]=totle.ToString();
BookInfosReader.Close();
myDt.Rows.Add(myDr);
}
}
}
dlBuyCar.DataSource = myDt.DefaultView;
dlBuyCar.DataBind();
}
public void btnCarClear(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("ShoppingCart");
TimeSpan ts = new TimeSpan(-1,0,0,0);
cookie.Expires = DateTime.Now + ts;
Response.AppendCookie(cookie);
BindGrid();
} public void btnCarFresh(object sender, EventArgs e)
{ HttpCookie cookie = new HttpCookie("ShoppingCart");
foreach(DataGridItem dgi in dlBuyCar.Items)
{
string id = dgi.Cells[0].Text;
string count = ((TextBox)dgi.Cells[5].FindControl("txtcNum")).Text;
if(count.Trim()!="")
cookie.Values.Add(id,count);
}
TimeSpan ts = new TimeSpan(1,0,0,0);
cookie.Expires = DateTime.Now + ts;
Response.AppendCookie(cookie);
BindGrid();
}
特别有意思的是,当我点击button的批量更新时,第一次点击不起作用,第二次点击,出现更改后的值,第三次又变回以前的值,唉!
高手GGMM,救命啊
public DataGrid dlBuyCar;
public Button Url;
public Button CarClear;
private void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
BindGrid(); }
} public void BindGrid()
{
DataTable myDt;
DataRow myDr;
string str = ""; myDt = new DataTable();
myDt.Columns.Add(new DataColumn("cBookID",str.GetType()));
myDt.Columns.Add(new DataColumn("cName",str.GetType()));
myDt.Columns.Add(new DataColumn("cListPrice",str.GetType()));
myDt.Columns.Add(new DataColumn("cMemberPrice",str.GetType()));
myDt.Columns.Add(new DataColumn("cVipPrice",str.GetType()));
myDt.Columns.Add(new DataColumn("cNum",str.GetType()));
myDt.Columns.Add(new DataColumn("cTotal",str.GetType())); if(!Object.Equals(Request.Cookies["Shoppingcart"],null))
{
HttpCookie cookie = Request.Cookies["ShoppingCart"];
for(int i = 0; i < cookie.Values.Count; i++)
{
int id;
double totle;
myDr = myDt.NewRow();
if((cookie.Values.AllKeys[i]!="")&&(cookie.Values[i]!=""))
{ id = int.Parse(cookie.Values.AllKeys[i]);
string strBookSelectSQL = "SELECT BookID,Name,ListPrice,MemberPrice,VipPrice FROM Fy_BookInfos WHERE BookID = " + id;
OleDbDataReader BookInfosReader = DbBase.ExecuteSql4Reader(strBookSelectSQL);
BookInfosReader.Read();
myDr[0]=BookInfosReader["BookID"].ToString();
myDr[1]=BookInfosReader["Name"].ToString();
myDr[2]=BookInfosReader["ListPrice"].ToString();
myDr[3]=BookInfosReader["MemberPrice"].ToString();
myDr[4]=BookInfosReader["VipPrice"].ToString();
myDr[5]=cookie.Values[i];
totle=double.Parse(BookInfosReader["MemberPrice"].ToString())*double.Parse(myDr[5].ToString());
myDr[6]=totle.ToString();
BookInfosReader.Close();
myDt.Rows.Add(myDr);
}
}
}
dlBuyCar.DataSource = myDt.DefaultView;
dlBuyCar.DataBind();
}
public void btnCarClear(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("ShoppingCart");
TimeSpan ts = new TimeSpan(-1,0,0,0);
cookie.Expires = DateTime.Now + ts;
Response.AppendCookie(cookie);
BindGrid();
} public void btnCarFresh(object sender, EventArgs e)
{ HttpCookie cookie = new HttpCookie("ShoppingCart");
foreach(DataGridItem dgi in dlBuyCar.Items)
{
string id = dgi.Cells[0].Text;
string count = ((TextBox)dgi.Cells[5].FindControl("txtcNum")).Text;
if(count.Trim()!="")
cookie.Values.Add(id,count);
}
TimeSpan ts = new TimeSpan(1,0,0,0);
cookie.Expires = DateTime.Now + ts;
Response.AppendCookie(cookie);
BindGrid();
}
你在BindGrid();中创建的DS所以你的数据....
DataRow myDr;
string str = "";
放到了Page_Load上面做了全局变量,可问题还是存在
如果很多,先给点思路行吗
是更改BindGrid();中的代码吗?
谢谢啦,我真的很急,这个问题已困扰我两天了