CellValueChanged以编程方式添加DataGridView' s

时间:2016-08-13 18:53:18

标签: c# .net

我在程序上添加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。 有人能帮助我做到这一点吗?

0 个答案:

没有答案