Salu2
me parece que es mas fácil si crea una tabla exactamente igual a factura con otro nombre para usarla como temporal, la enlazas a tu aplicacion y luego al momento de agregar un artículo a la factura que este se grabe en la tabla temporal y se liste en tu dbgrid mediante un datasource
espero te sea de utilidad