none
datagridview.Rows.Add(), no agregar registro... RRS feed

  • Pregunta

  • Hola a todos:Quisiera poder pasarle pasar datos entre dos grillas en formularios distintos, Lo hice siguiendo la explicacion de Leandro Código HTML, 

    mi problema es que en la ultima parte cuando le llamo al datagridview.Rows.Add(valor), donde el valor es el registro que quiero insertar en el datagridpadre, no lo inserta, verifique si le pasan los datos y lo hace, pero no inserta y no se por que motivo no lo hace, probe en otros proyecto hacer lo mismo,y si hace, pero en el mio no.. Mi proyecto es asi.. Tiene un formulario menu(que tiene activo la propieda this.MDIParent), su formulario hijo, que que se llama Productos, dentro de el es donde quiero insertar los registros, y otro formulario(que no es un MDIChild) que se llama, codigo, ahi es donde estan los registros a insertar en el datagridview del formulario hijos..

        #region IAddItem Members

        public void AddNewItem(DataGridViewRow row)
        {
            string item = row.Cells["item"].Value.ToString();
            string desc = row.Cells["Desc"].Value.ToString();


            this.dataGridView1.Rows.Add(new []{ item , desc });

        }

        #endregion

    como dije anteriormente, los valores item y desc, se cargar con los valores de la otra grilla, pero this.dataGridView1.Rows.Add(new []{ item , desc });este no pasa por algun motivo. Por cierto tambien he intentado cargar esos valores en los text box y tampoco ocurren eso..por favor, ayudenme

    Muchas gracias

    sábado, 25 de septiembre de 2010 18:21

Respuestas

Todas las respuestas

  • hola

    sino entendi mal esta implementando algo similar a esto

     

    DataGridView Parte 3 Pasaje de informaci ó n entre grillas en distintos formularios

    que propiedad usas para apsar la instancia del formulario al hijo ? usas el Owner del Show() o alguna otra propiedad

    si pones un breakpoint en el metodo de la interfaz que estas mostrando pasa por alli el codigo ?

    no obtienes ninguna mensaje de error ?

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    sábado, 25 de septiembre de 2010 18:42
  • En realidad no me da ningún error, por que en ves de hacer esto frm.Show(this); le paso el valor una variable que tiene los atributos del formulario hijo  frm.Show(frmHijo).. por eso digo, que me llegan todos, pero mi problema es que no agregan al datagridview.

    domingo, 26 de septiembre de 2010 19:18
  • hola

    tiene los atributos del formulario hijo  frm.Show(frmHijo)

    pero ese frmHijo es una instancia de un formulario, el cual tiene implemetnada la interfaz, y define un DataGridView ?

    lo pregunto porque lo general es que el form que invoca es el que necesita la info, por eso el uso del this

    pero mi problema es que no agregan al datagridview

    has puesto el breakpoint dentro del metodod e la interfaz AddNewItem(), cuando se eejcuta pasa por alli el codigo, sino pasa por alli esta claro porque no se agregan los registros a la grilla

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 26 de septiembre de 2010 19:22
  • La verdad no le paso el this por que sino quien lo que le paso es el MDIParent, no se por que motivo, hace eso.. pero empeze asi, y me percate que en vez de ir formulario hijo, va el formulario padre.. A que te refieres con breakpoint.. pero la interfaz AddnewItem.. y como te digo, con respecto a tu manual Leandro, lo unico que cambia es que en vez de tener this, tiene (frmhijo), y como también te digo, los valores llegan, solo que no se agregan al datagridview..
    domingo, 26 de septiembre de 2010 20:28

  • ahh estas con formulario MDI, no me habia dado cuenta

    en ese caso la tecncia es la misma, solo que hay una variante

      Comunicar formularios MDI

    el tema es que si usas frmhijo, seguro estas creando una instancia nueva del formulario, lo cual no devolvera los datos a la que necesitas sino a esta nueva

    this representa al formulario donde estas situado, si es este el que debe recibir los datos, no me explico como el mdiparent podria esta recibiendolo

     

    A que te refieres con breakpoint

    este es un breakpoint imagen

    lo usas para poner un lugar dodne se detecdra tu codigo y podras examinar las variables

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    domingo, 26 de septiembre de 2010 22:34
  • No sabia como se llamaba, el breakpoint es justamente como habia visto que los valores si se carga de manera correcta a la variable... la verdad no  se mas que intentar, la lo he probado de otra maneras.. pero nada, sigo sin conseguir el resulta.. las valores que cargos en esas variables, no puedo mostrarlo en ningun control.., ni siquiera en los textbox.. y no entiendo por que, por que segun el breakpoint si estan cargados todos los valores correctamente..
    lunes, 27 de septiembre de 2010 12:37
  • hola

    entonces has verificado que por el metodo pasa correctamente, y los valores de los aprametros tambien

    lo que no consulte es si esa grilla estaba previamente enlazada a datos, pero igual si fuera asi tendrias un error, la verdad es raro

    nada indicaria que no funciona, lo que no consulte es como estas tomando la instancia del formulario cuando invocas al metodo de la interfaz

    hace uso de la propiedad Owner para esto ?

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 27 de septiembre de 2010 12:47
  • Si, asi mismo leandro, hago uso de la propiedad owner.. Leandro, ahora he modificado Comunicar Formularios MDI ,  segun el tuto, que me pasaste y si me funciona.. Pero lo que quiero hacer leandro que los valores del datatable se vayan cargando en uno u otro datagridview, y que el resultado se refleje en la otra, como podria hacer eso?, tendria que hacer un datasetipado para crear mis datatable? es posible mantener lel datatable, sin que se modifique si importan si se cierran o nos los formularios(no me referio al princial)?
    lunes, 27 de septiembre de 2010 13:32
  • segun el tuto, que me pasaste y si me funciona

    que bueno me alegro

    los valores del datatable se vayan cargando en uno u otro datagridview que el resultado se refleje en la otra, como podria hacer eso?

    podrias en la interfaz crear dos metodos, y desde el otro formulario invocar a uno u otro segun corresponda

    en la interfa puedes definir varios metodo uno actualiza un datatable y el otro a otro distinto

    sin que se modifique si importan si se cierran o nos los formularios(no me referio al princial)?

    esta parte no la entendi, si cierras el form no deberia modificarse nada, ya que en el close del formulario no invocas al metodo de la interfaz

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    lunes, 27 de septiembre de 2010 13:44
  • Leandro y a todos ustedes que me puedan ayudar: Disculpa la molestia, pero la verdad estoy perdiendo mucho tiempo con esto.. Sigo intentando, pero mi problema es el siguiente, quisiera poder agregar un datatable todos los datos que estan en un datagridview(datagrid1) ,  y luego los datos que estan en el dataTable pasarlo a otro datagridview(llamamemoslo datagrid2) , hasta aqui ya lo he conseguido, solo que luego de agregar los datos, quiero poder agregar otra vez en el datagrid2, y que se repita el proceso, de agregar al datatable, y luego al datagrid2, pero sin que se pierda lo que anteriormente ya habia cargado en el datagrid2. Me podrias facilitar leandro algun ejemplo, o el camino que debo tomar para encontrar algun solucion, ya que hasta ahora, lo que cargo en el datagrid, reemplaza lo que anteriormente ya cargue
    lunes, 27 de septiembre de 2010 17:44