У меня 3 формы InventoryManagementForm
, PurchaseEntryForm
и SalesEntryForm
. InventoryManagementForm
имеет 2 кнопки Purchase
и Sales
, которые перемещаются на PurchaseEntryForm
и SalesEntryForm
соответственно. В PurchaseEntryForm
есть ComboBoxList
, который открывает список товаров, и NumericUpDown
, используемый для подсчета количества покупаемых товаров. При нажатии Buy Now
ProductID
, ProductName
и Quantity
должны быть добавлены к SalesEntryForm
. Я печатаю SelectedItem
из ComboBoxList
и Quantity
из NumericUpDown
в консоли по Console.WriteLine
, и она напечатана правильно. Но после выполнения метода Add()
, который добавляет значения к DataGridView
, данные не добавляются и, возможно, они равны нулю. Что делать, чтобы данные добавлялись в DataGridView
?
Код For PurchaseEntryForm
:
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class PurchaseEntryForm : Form
{
// Initializing dictionary
Dictionary<int, string> productDetails;
// For counting product id, unique every time if someone adds a data
private static uint _productID;
// Reference for SalesEntryForm
SalesEntryForm salesEntryForm = new SalesEntryForm();
ProductDetails product;
public PurchaseEntryForm()
{
InitializeComponent();
}
public PurchaseEntryForm(SalesEntryForm salesEntryForm)
{
InitializeComponent();
this.salesEntryForm = salesEntryForm;
}
// Adding products on loading form
private void PurchaseEntryForm_Load(object sender, EventArgs e)
{
productDetails = new Dictionary<int, string>();
productDetails.Add(1, "CPU");
productDetails.Add(2, "Monitor");
productDetails.Add(3, "Keyboard");
productDetails.Add(4, "Mouse");
productDetails.Add(5, "Headphones");
foreach (KeyValuePair<int, string> pair in productDetails)
{
ListOfProductsCmb.Items.Add(pair.Value);
}
}
private void BuyNowBtnHover(object sender, EventArgs e)
{
BuyNowBtn.BackColor = Color.AliceBlue;
}
private void BuyNowBtnLeave(object sender, EventArgs e)
{
BuyNowBtn.BackColor = Color.FromArgb(249, 249, 251);
}
private void BuyNowBtn_Click(object sender, EventArgs e)
{
_productID++;
product = new ProductDetails
{
ProductID = _productID,
ProductName = ListOfProductsCmb.SelectedItem.ToString(),
Quantity = int.Parse(ProductQuantityNud.Value.ToString())
};
salesEntryForm.ProductDetailsDgv.Rows.Add(new object[] { product.ProductID,
product.ProductName, product.Quantity });
Close();
}
}
}
Код For InventoryManagementForm
:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class InventoryManagementForm : Form
{
SalesEntryForm salesEntryForm;
public InventoryManagementForm()
{
InitializeComponent();
}
private void PurchaseEntryBtn_Hover(object sender, EventArgs e)
{
PurchaseEntryBtn.BackColor = Color.AliceBlue;
}
private void PurchaseEntryBtn_Leave(object sender, EventArgs e)
{
PurchaseEntryBtn.BackColor = Color.FromArgb(249, 249, 251);
}
private void SalesEntryBtn_Hover(object sender, EventArgs e)
{
SalesEntryBtn.BackColor = Color.AliceBlue;
}
private void SalesEntryBtn_Leave(object sender, EventArgs e)
{
SalesEntryBtn.BackColor = Color.FromArgb(249, 249, 251);
}
private void PurchaseEntryBtn_Click(object sender, EventArgs e)
{
PurchaseEntryForm purchaseEntryForm = new PurchaseEntryForm();
purchaseEntryForm.Show();
}
private void SalesEntryBtn_Click(object sender, EventArgs e)
{
salesEntryForm = new SalesEntryForm();
salesEntryForm.Show();
}
}
}
код для SalesEntryForm
:
using System;
using System.Windows.Forms;
namespace WindowsFormsApp1
{
public partial class SalesEntryForm : Form
{
public SalesEntryForm()
{
InitializeComponent();
}
private void SalesEntryForm_Load(object sender, EventArgs e)
{
}
}
}