Member 13873270 Ответов: 1

Как я могу подсчитать повторяющиеся значения datagridview в одном столбце datagridview


У меня есть одно текстовое поле и один datagridview. Если я напишу значение в текстовое поле и проверю его. Значение, добавленное к первой строке datagridview. Как я могу реализовать, что если есть повторяющееся значение, то столбец 2(Количество) datagridview должен увеличиваться на единицу по значению. Как я могу подсчитать дублированные элементы и записать результат во второй столбец?
например:

Текстовый:
DLGP195
DLGP195 проверка
DLGP888
DLGP888
DLGP888 проверить
и т.д...
количество товара
DLGP195 2
DLGP888 3

Что я уже пробовал:

private void tb_vonalkod_Validating(object sender, CancelEventArgs e)
{


    if (tb_vonalkod.Text != null && !string.IsNullOrWhiteSpace(tb_vonalkod.Text))
    {
        beolvasottdtgw.Rows.Add(tb_vonalkod.Text);
        dataGridView1.DataSource = beolvasottdtgw;

        tb_vonalkod.Clear();
        tb_vonalkod.Focus();



        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            if (row.IsNewRow) break;
            int total = 0;
            for (int i = 2; i < row.Cells.Count - 1; i++)
            {
                if (row.Cells[i].Value.ToString() == "P") total++;
            }
            row.Cells[row.Cells.Count - 1].Value = total;
        }
    }
}

1 Ответов

Рейтинг:
1

Richard MacCutchan

Прежде чем добавить имя в DatagridView, вам нужно будет выполнить поиск по всем строкам, чтобы увидеть, существует ли эта запись уже. Если он не существует, то добавьте новую строку. Если он существует, то добавьте 1 в столбец количество.