Añadir una linea vacia en un datagridview

02/10/2008 - 14:29 por Xuri | Informe spam
Hola de nuevo

Bueno pues el tema es que tengo un datagrid que relleno asi:
consulta = "select
iva,cod_articulo,descripcion,cantidad,importe,dto_linea,total_linea from " +
this.detalle_doc + " where id_serie=" + this.serie.texto.Text + " and
codigo=" + this.texto.Text;

conexi.consulta(consulta, "detalle", 1);
albaranes_det.DataSource = conexi.datos();

donde albaranes_det es el datagridview.

lo que quiero es que pulsando un Button me cree una linea vacia pero que
este por en medio. Imaginad que el datagrid tiene 10 rows, pues quiero que
entre el row 4 y el 5 ponga una linea vacia.


Es posible? Gracias.

Preguntas similare

Leer las respuestas

#1 SoftJaén
04/10/2008 - 19:24 | Informe spam
"Xuri" escribió:

tengo un datagrid que relleno asi:

albaranes_det.DataSource = conexi.datos();

donde albaranes_det es el datagridview.

lo que quiero es que pulsando un Button me cree una linea vacia pero que
este por en medio. Imaginad que el datagrid tiene 10 rows, pues quiero que
entre el row 4 y el 5 ponga una linea vacia.

Es posible?



Hola:

Sí es posible. Lo que ocurre es que si el control DataGridView se encuentra
enlazado a un objeto DataTable, como parece ser que así lo tienes, las filas
las tienes que insertar en dicho objeto DataTable utilizando para ello el
método «InsertAt» de la propiedad «Rows», y automáticamente se verá
reflejada la fila en blanco en el control DataGridView.

En el evento Click del control Button, ejecutarías algo parecido a lo
siguiente:

private void button1_Click(object sender, EventArgs e)
{
// Referenciamos el objeto DataTable asociado
// al control DataGridView
//
DataTable dt = (DataTable)this.dataGridView1.DataSource;

// Creamos un nuevo objeto DataRow
//
DataRow dr = dt.NewRow();

// Insertamos la fila después de la tercera fila,
// que es la que tiene el ¡ndice 4.
//
dt.Rows.InsertAt(dr, 4);
}

Ten en cuenta que los índices están en base 0: el primero es el 0, el
segundo el 1, el tercero el 2, etc.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.
Respuesta Responder a este mensaje
#2 Xuri
07/10/2008 - 14:34 | Informe spam
Muchisimas gracias, me has sido de muchisima ayuda, ya lo consegui.


De nuevo gracias.

"SoftJaén" wrote:

"Xuri" escribió:
>
> tengo un datagrid que relleno asi:
>
> albaranes_det.DataSource = conexi.datos();
>
> donde albaranes_det es el datagridview.
>
> lo que quiero es que pulsando un Button me cree una linea vacia pero que
> este por en medio. Imaginad que el datagrid tiene 10 rows, pues quiero que
> entre el row 4 y el 5 ponga una linea vacia.
>
> Es posible?

Hola:

Sí es posible. Lo que ocurre es que si el control DataGridView se encuentra
enlazado a un objeto DataTable, como parece ser que así lo tienes, las filas
las tienes que insertar en dicho objeto DataTable utilizando para ello el
método «InsertAt» de la propiedad «Rows», y automáticamente se verá
reflejada la fila en blanco en el control DataGridView.

En el evento Click del control Button, ejecutarías algo parecido a lo
siguiente:

private void button1_Click(object sender, EventArgs e)
{
// Referenciamos el objeto DataTable asociado
// al control DataGridView
//
DataTable dt = (DataTable)this.dataGridView1.DataSource;

// Creamos un nuevo objeto DataRow
//
DataRow dr = dt.NewRow();

// Insertamos la fila después de la tercera fila,
// que es la que tiene el ¡ndice 4.
//
dt.Rows.InsertAt(dr, 4);
}

Ten en cuenta que los índices están en base 0: el primero es el 0, el
segundo el 1, el tercero el 2, etc.

Un saludo

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida