none
Como pasar de un datagridview a otro datagridview que esta en otro formulario RRS feed

  • Pregunta

  • Buenas noche ante todo, mi duda grande por dios ayundeme,  es como hago de un datagridview que solo tiene 3 columna  y N filas por que de ahí se actuliza la compra de carrito. que no esta NI CONECTADA A UNA TABLA, NO ENLAZADA A UNA BASE DE DATO, NI MUCHO MENOS USO DATATABLE MANUAL, solo muestra la información que di en mis txtbox, esa información en ese mismo orden que esta en el datagridviewENTRADA (asi lo llame) quiero que se pase a otro formulario que se llamara facutracion que ahí esta otro datagridviewFacturacion (ESE DATAGRIDVIEWFACTURACION NO ESTA ENLAZADA, NI CONECTADO A NINGUNA BASE DE DATO NI USA DATATABLE MANUAL),

    eso es todo si algo no entiende yo le aclaro las dudas es urgente jeje estare pegado toda la noche aqui a ver si responde y seguir buscando informacion.

    miércoles, 6 de junio de 2018 3:43

Respuestas

  • Para construir un DataTable por codigo, se hace algo parecido a esto:

    Dim dt as New DataTable();
    dt.Columns.Add("Nombre", GetType(String))
    dt.Columns.Add("Importe", GetType(Decimal))
    ' ... etc... (agregar todas las columnas)

    Una vez hecho eso, si lo enlazas a un DataGridView, ya tiene que mostrar las columnas:

    DataGridView1.DataSource = dt

    Para agregar filas, se usa la coleccion "Rows":

    dt.Rows.Add("Pepe", 1234)

    En ese momento la fila deberia verse en el Grid.

    Si tu tabla es muy compleja y tiene muchas columnas, en lugar de añadirlas una por una desde codigo tambien puedes usar el diseñador de Visual Studio para dibujar un DataSet Tipado, y por dentro él hace el equivalente de lo que hemos escrito manualmente m'as arriba.

    miércoles, 6 de junio de 2018 10:25

Todas las respuestas

  • La primera recomendación: Donde dices que los DataGridView no están vinculados a un datatable, ni siquiera a uno manual: ¡Mal hecho! Vincúlalos a un DataTable, y no grabes ni leas información en el DataGridView; en su lugar, todo lo que leas o grabes hazlo en el DataTable. Gracias al vínculo de datos, se propagará instantáneamente al DataGridView y el comportamiento en pantalla será exactamente igual. Pero la programación se volverá mucho más cómoda y elegante.

    Una vez hecho eso, el traslado de datos es trivial: sencillamente lee las filas del primer datatable y añádelas al otro datatable. Esto funciona con total independencia de que los Grids estén en distinto formulario, a los datatables les da lo mismo, no saben ni les importa cuál es el formulario en el que se encuentra el grid vinculado a ellos.

    miércoles, 6 de junio de 2018 5:41
  • okey gracias soy nuevo en esto disculpa y agarro consejo, y como vincularia una datatable por ahí leí que existen datatable manual que no estan enlazada a la base de dato, como se hace una datatable manual me enseñaria? cololando el codigo

    miércoles, 6 de junio de 2018 5:57
  • Para construir un DataTable por codigo, se hace algo parecido a esto:

    Dim dt as New DataTable();
    dt.Columns.Add("Nombre", GetType(String))
    dt.Columns.Add("Importe", GetType(Decimal))
    ' ... etc... (agregar todas las columnas)

    Una vez hecho eso, si lo enlazas a un DataGridView, ya tiene que mostrar las columnas:

    DataGridView1.DataSource = dt

    Para agregar filas, se usa la coleccion "Rows":

    dt.Rows.Add("Pepe", 1234)

    En ese momento la fila deberia verse en el Grid.

    Si tu tabla es muy compleja y tiene muchas columnas, en lugar de añadirlas una por una desde codigo tambien puedes usar el diseñador de Visual Studio para dibujar un DataSet Tipado, y por dentro él hace el equivalente de lo que hemos escrito manualmente m'as arriba.

    miércoles, 6 de junio de 2018 10:25