cellvaluechangon DataTable/编程添加DataGridView

本文关键字:添加 DataGridView 编程 DataTable cellvaluechangon | 更新日期: 2023-09-27 18:02:07

我有一些问题与cellvaluechange。

我可以这样做,它可以工作:

    private void dataGridView_etykietyA6_CellValueChanged(object sender, DataGridViewCellEventArgs e)
    {
        //do some stuff
    }

但是我必须手动添加我的DataGridView,但我想添加它们:

        for (int i = 0; i < lista.Count; i++)
        {
            tabControl_Roz.TabPages.Add("Typ "+lista[i]);
            tabControl_Roz.TabPages[i + 1].Controls.Add(new DataGridView()
            {
                Name = "dataGridView_" + lista[i],
                Dock = DockStyle.Fill
            });
        }

DataGridView添加工作正确,但我不知道如何使用cellvaluechange对它。

所以有任何机会使用cellvaluechange在这个编程添加的DataGridView上,或者如果它不可能有任何机会在DataTable上做到这一点?

有谁知道实现这个的好方法吗?

cellvaluechangon DataTable/编程添加DataGridView

您可以使用+=操作符以编程方式添加事件处理程序,如下所示:

var dataGridView = new DataGridView()
{
    Name = "dataGridView_" + lista[i],
    Dock = DockStyle.Fill
};
dataGridView.CellValueChanged += new EventHandler(dataGridView_etykietyA6_CellValueChanged); // this is the name of your handler method
tabControl_Roz.TabPages[i + 1].Controls.Add(dataGridView);

或者你甚至可以像这样内联地编写处理程序逻辑:

dataGridView.CellValueChanged += (e, sender) => {
// your handler logic
};