MaddoxSt Ответов: 1

Как найти данные datagridview с помощью текстового поля и если они совпадают добавить свои данные во второй datagridview


Это ссылка на приложение
https://imgur.com/a/sB1eE[^]

У меня есть форма с двумя datagridview, первая из которых заключается в добавлении элементов из csv или вручную из текстового поля. То , что я хочу сделать,это я хочу найти элемент в первом gridview с помощью кнопки поиска и текстового поля и добавить количество этого элемента, и если элемент соответствует данным из первого gridview, он должен добавить имя элемента, категорию, количество и цену элемента во второй gridview и вычислить общую сумму, которая является ценой * количеством как это сделать я только что сделал базовую проверку, если данные текстового поля соответствуют gridview или нет.

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

for (int i = 0; i < dataGridView1.Rows.Count; i++)

            {

                for (int j = 0; j < dataGridView1.Columns.Count; j++)

                {

                    if (dataGridView1.Rows[i].Cells[j].Value != null && 
                       searchTextBox.Text == 
                     dataGridView1.Rows[i].Cells[j].Value.ToString())

                    {

                        MessageBox.Show("The value already existed in DataGridView.");
                        searchTextBox.Text = "";

                        break;

                    }

                }

1 Ответов

Рейтинг:
1

Karthik_Mahalingam

попробуйте это, измените его в соответствии с вашими потребностями

public class SearchItem
      {
          public string Item_Name { get; set; }
          public string Category { get; set; }
          public double Price { get; set; }
          public double Quantity { get; set; }
          public double Total { get; set; }
      }

      private void btnSearch_Click(object sender, EventArgs e)
      {
          string search = txtkeyword.Text.Trim();
          double quantity;
          if (!double.TryParse(txtQty.Text.Trim(), out quantity))
          {
              MessageBox.Show("Please enter a valid quantity");
              return;
          }

          foreach (DataGridViewRow row in dataGridView1.Rows)
          {
              string item_Name = row.Cells[0].Value.ToString();
              if (search == item_Name)
              {
                  SearchItem item = new SearchItem()
                  {
                      Item_Name = item_Name,
                      Category = row.Cells[1].Value.ToString(),
                      Quantity = quantity,
                      Price = Convert.ToInt32(row.Cells[2].Value.ToString())
                  };
                  item.Total = item.Quantity * item.Price;
                  dataGridView2.Rows.Add(item.Item_Name, item.Category, item.Quantity, item.Price, item.Total);
                  break;
              }
          }

      }


MaddoxSt

Да это сработало большое спасибо :)

Karthik_Mahalingam

добро пожаловать

MaddoxSt

братан я новичок в этом деле я не вижу здесь галочки в качестве кнопки ответа

Karthik_Mahalingam

Кнопка "принять решение" находится поверх этого решения