我在程序上添加DataGridView时遇到CellValueChanged问题,这就是我添加DataGridView的方法:
for (int i = 0; i < lista.Count; i++)
{
tabControl_Rozliczenie.TabPages.Add("Id " + lista[i]);
var dataGridView = new DataGridView()
{
Name = "dataGridView_" + lista[i],
Dock = DockStyle.Fill
};
dataGridView.CellValueChanged += new DataGridViewCellEventHandler(dataGridView_ety_CellValueChanged);
dataGridView.DataSource = dataTable;
tabControl_Rozliczenie.TabPages[i].Controls.Add(dataGridView);
dataGridView.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.Fill);
}
它的工作正确但是在我在这部分代码中添加的事件中,我遇到了实现CellValueChanged的问题
这是代码:
var index = dataGridView_Id1.CurrentCell.RowIndex;
dataTable.Rows[index][łącznie] = (int)dataTable.Rows[index][columnNumber] + (int)dataTable.Rows[index][ilość];
linaZPodsumowaniem();
int ubytki = (int)dataTable.Rows[index][columnNumber];
int łącznaIlość = (int)dataTable.Rows[inde][łącznie];
double ubytkiDouble = Convert.ToDouble(ubytki);
double łącznaIlośćDouble = Convert.ToDouble(łącznaIlość);
double wartośćWProc = ((100f * ubytkiDouble) / łącznaIlośćDouble);
dataTable.Rows[indexWiersza][wartośćProc] = Math.Round(wartośćWProc,2) + "%";
问题在于
var index = dataGridView_Id1.CurrentCell.RowIndex;
它适用于dataGridView1。 问题是我有点不知道如何在活动的TabControl.Page中的DataGridView上执行此操作。 我知道我应该检查哪个TabControl页面处于活动状态,然后在此页面上查找dataGridView。 有人能帮助我做到这一点吗?