【发布时间】:2021-05-18 07:47:50
【问题描述】:
我在 Windowsform c# 中有两个 DatagridViews,其中一个我从数据库中选择了我所有的产品(Dgtv_artikelbestellung)并在那里展示。
另一个用于订购产品(dgv_bestellteArtikel, 我想如果我单击一个符号“+”,它会将所选行添加到另一个 DataGridView,如果我双击同一选定行,它应该在“Menge”列中的第二个 Datagridview ++1 中。到目前为止,我可以添加行,但如果我第二次添加相同的产品,它不会添加数量。 我怎样才能做到这一点?有人可以帮忙吗? 这里的样子: Datagridview demo 这是我的代码。
private void Dgtv_artikelbestellung_CellClick(object sender, DataGridViewCellEventArgs e)
{
string tttts = "";
bool gefunden = false;
if (Dgtv_artikelbestellung.Rows.Count > 0 && Dgtv_artikelbestellung.SelectedRows.Count > 0)
{
for (int i = 0; i < Dgtv_artikelbestellung.SelectedRows.Count; i++)
{
int indexvar = dgv_bestellteArtikel.Rows.Add();
dgv_bestellteArtikel.Rows[indexvar].Cells[0].Value = Dgtv_artikelbestellung.SelectedRows[i].Cells[0].Value.ToString();
dgv_bestellteArtikel.Rows[indexvar].Cells[1].Value = Dgtv_artikelbestellung.SelectedRows[i].Cells[1].Value.ToString();
dgv_bestellteArtikel.Rows[indexvar].Cells["Menge"].Value = Convert.ToInt32(dgv_bestellteArtikel.Rows[indexvar].Cells["Menge"].Value) + 1;
tttts=dgv_bestellteArtikel.Rows[indexvar].Cells["Menge"].Value.ToString();
if(tttts != null && tttts.ToString()== tttts)
{
gefunden = true;
}
}
}
【问题讨论】:
-
在代码执行该行之前…
int indexvar = dgv_bestellteArtikel.Rows.Add();…代码应该检查所选项目是否已经在第二个网格中。如果是……那么您不想“添加”新行,而是要增加现有行。我还问,因为tttts是一个字符串……tttts.ToString()== tttts什么时候会是假的?
标签: c# datagridview