我在listview中遇到问题,因为无论何时我以其他形式获取值,它都不会在列表中添加,但是当我放置断点时它有一个值但仍未添加到我的列表视图中。
这是我在form1中从datagridview获取值的函数
public void dataGridView1_DoubleClick(object sender, EventArgs e)
{
qtyOfOrders orders = new qtyOfOrders();
if (dataGridView1.SelectedRows.Count > 0)
{
String mealname = dataGridView1.SelectedRows[0].Cells[1].Value + String.Empty;
String price1 = dataGridView1.SelectedRows[0].Cells[2].Value + String.Empty;
pts.meal = mealname;
pts.qtyprice = Int32.Parse(price1);
orders.Show();
}
}
这是我在form2中的函数,它将在list1中的数据保存在form1
中private void OK_Click(object sender, EventArgs e)
{
cashier c = new cashier();
pricetempstorage pts = new pricetempstorage(); //class
int qty = Int32.Parse(QTYNumber.Text);
int totalPrice = qty * pts.qtyprice;
pts.qtynumber = qty;
pts.TotalPrice = totalPrice;
c.listView1.Items.Add(pts.meal);
c.qtyOrder.ListView.Items[0].SubItems.Add(pts.qtynumber.ToString());
c.price111.ListView.Items[0].SubItems.Add(pts.TotalPrice.ToString());
this.Hide();
}
这是我的班级
namespace jollibee4
{
class pricetempstorage
{
static int qtyNumber;
static int qtyPrice;
static int ListViewCount;
static String Meal;
static int totalprice;
public int TotalPrice
{
get
{
return totalprice;
}
set
{
totalprice = qtyNumber * qtyPrice;
}
}
public int qtynumber
{
get
{
return qtyNumber;
}
set
{
qtyNumber = value;
}
}
public int qtyprice
{
get
{
return qtyPrice;
}
set
{
qtyPrice = value;
}
}
public int listviewCount
{
get
{
return ListViewCount;
}
set
{
ListViewCount = value;
}
}
public String meal
{
get
{
return Meal;
}
set
{
Meal = value;
}
}
}
}
答案 0 :(得分:0)
<强> Form1中强>
public List<pricetempstorage> Items { get; private set; }
private void OK_Click(object sender, EventArgs e)
{
cashier c = new cashier();
pricetempstorage pts = new pricetempstorage(); //class
int qty = Int32.Parse(QTYNumber.Text);
int totalPrice = qty * pts.qtyprice;
pts.qtynumber = qty;
pts.TotalPrice = totalPrice;
Items.Add(pts);
this.Hide();
}
创建一个购物车类,其中的项目可以在列表中追加 我假设pricetempstorage是你的项目类,它的名字可以是产品
public static ShoppingCart GetInstance()
{
if (cart == null)
{
cart = new ShoppingCart();
}
return cart;
}
protected ShoppingCart()
{
Items = new List<pricetempstorage>();
}
答案 1 :(得分:0)
尝试在this.listView1.View = View.Details;
c.listView1.Items.Add(pts.meal);
答案 2 :(得分:0)
您的程序存在许多架构和风格问题(使用静态,大小写等) - 要纠正它们,需要非常冗长的响应。
您的代码无效,因为您正在创建收银员类的新实例,然后您正在更新其listView1对象。我认为你要做的是更新Form2的listView对象。所以你应该做的是抓取对Form2的引用并在你的OK_Click事件处理程序中填充它的ListView对象......
这里只是一个提示:公共财产应该有一个首字母大写字母。您的pricestmp存储类需要一些工作。