私は、既存のデータテーブルと新しい値を比較するためにデータテーブルを操作しようとしています。可能であれば、数量は加算されますが、そうでなければデータテーブルに行が追加されます。データテーブルの値を比較する
if (HttpContext.Current.Session["Cart"] != null)
{
DataTable shoppingcart = (DataTable)HttpContext.Current.Session["Cart"];
for (int i = 0; i < shoppingcart.Rows.Count; i++)
{
String checktitle = shoppingcart.Rows[i]["Title"].ToString();
if (title == checktitle)
{
//do something
}
else
{
ShoppingCart.DataSource = cart.cartrow(shoppingcart);
ShoppingCart.DataBind();
}
}
}
else
{
HttpContext.Current.Session["Cart"] = cart.shoppingCart();
ShoppingCart.DataSource = cart.shoppingCart();
ShoppingCart.DataBind();
}
}
何とか。その数量を追加することはできませんでした。毎回新しい行を作成していました。 アドバイスをいただきありがとうございます。 これは、あなたがこのコードを実行私は、行を追加したり、テーブル
String title { get; set; }
decimal price { get; set; }
int quantity { get; set; }
DataTable CartTable;
DataRow tableRow;
public cart(String _title, decimal _price)
{
title = _title;
price = _price;
}
public DataTable shoppingCart()
{
CartTable = new DataTable("cart");
CartTable.Columns.Add("ID", typeof(Int32));
CartTable.Columns["ID"].AutoIncrement = true;
CartTable.Columns["ID"].AutoIncrementSeed = 1;
CartTable.Columns.Add("Title");
CartTable.Columns.Add("Price");
CartTable.Columns.Add("quantity");
tableRow = CartTable.NewRow();
tableRow["Title"] = title;
tableRow["Price"] = price;
tableRow["quantity"] = quantity;
CartTable.Rows.Add(tableRow);
return CartTable;
}
public DataTable cartrow(DataTable _cart)
{
tableRow = _cart.NewRow();
tableRow["Title"] = title;
tableRow["Price"] = price;
tableRow["quantity"] = quantity;
_cart.Rows.Add(tableRow);
return _cart;
}
あなたのコードは、あなたが求めているものは表示されません。その価値をどこで比較し、数量を追加して新しい行を作成しますか? –
申し訳ありませんが、私はプログラミングの初心者です。私は行とテーブルの追加を実行するクラスを作成しました – eugene