【发布时间】:2017-05-24 15:43:06
【问题描述】:
我正在 Windows 窗体中制作一个模拟销售点的应用程序。我现在正在创建用户单击产品按钮的部分,它会在列表框中添加这样的项目:“'数量' - '产品名称' - '成本'”。
当再次单击按钮时,应该像这样编辑项目:“'数量+1' - '产品名称' - '成本*2'”。 但是,它只是添加了包含该信息的另一个项目。
到目前为止,我的代码如下:
private void bprod1_Click(object sender, EventArgs e)
{
MySqlCommand cmdp1 = new MySqlCommand("SELECT preco_unitario FROM produtos where designacao='" + bprod1.Text + "';", mConn);
mConn.Open();
MySqlDataReader drp1 = cmdp1.ExecuteReader();
drp1.Read();
string getpreco1 = drp1["preco_unitario"].ToString();
mConn.Close();
quant1 = quant1 + 1;
var preco1tot = quant1 * Convert.ToDecimal(getpreco1);
var text1 = quant1.ToString() + " - " + bprod1.Text + " - " + preco1tot.ToString();
listvenda.Items.Add(text1);
}
bprod1 是我的按钮。 quant1 从值 0 开始。getpreco1 是我从数据库中得到的值(产品的成本)。
我的目标是,当第二次点击等时,在不创建新项目的情况下增加数量并增加成本。 我可以删除该项目并使用新信息添加另一个项目,但我希望该项目与另一个项目位于同一位置,而不是在列表的末尾。
感谢任何建议和帮助。 希望你们明白我的意图。
【问题讨论】:
-
这是 ASP.NET WebForms 还是 WindowsForms?
-
@Guilherme WindowsForms
-
SQL 注入警告。您可能需要在此处考虑参数化。
-
您要替换什么项目?选择一个,最后一个?
-
@RossBush 你这是什么意思?你能澄清一下吗?
标签: c# winforms listbox listboxitems