我用这样的方式填充了一个GridView:
Ingreso I = new Ingreso();
I.ID_Producto = ID_Producto;
I.Producto = cmb_producto.Text;
I.ID_Productor = ID_Productor;
I.Productor = cmb_productor.Text;
I.Fecha_Ingreso = Fecha.Value.Date;
I.Cantidad = Convert.ToInt16(txt_cantidad_ingresada.Text);
I.Precio_Unitario = Convert.ToDecimal(txt_precio_unitario.Text);
I.Descripcion = txt_descripcion.Text;
Ingresos.Add(I);
ListadeIngresos = new BindingList<Ingreso>(Ingresos);
BindingSource source = new BindingSource(ListadeIngresos, null);
Grid_Ingreso.DataSource = source;
然后用户需要删除已添加的行,我正在尝试这种方式:
private void Grid_Ingreso_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
int index = e.Row.Index;
Ingresos.RemoveAt(index);
ListadeIngresos.RemoveAt(index);
BindingSource source = new BindingSource(ListadeIngresos, null);
Grid_Ingreso.DataSource = source;
}
我的问题是该行从gridview和对象(Ingresos
)中删除了三次。这就像事件发射3次,但是当我调试时我只看到它进入一次。为什么会这样?
由于