none
ayudad con editar un data gridview RRS feed

  • Pregunta

  • hola
    mi problema es el siguiente tengo un gridview al cual  muentra unos registro
    mi problema es que nesesito alguna rutina que me permita hacer agregar datos al grid limpia osea una cojunto nuevo de registros ,ya he probado con el siguiente codigo
     //DataTable table = new DataTable();
                //DataColumn CANTIDAD = new DataColumn("CANTIDAD", typeof(int));
                //DataColumn CODIGO = new DataColumn("CODIGO", typeof(float));
    
                //table.Columns.Add(CODIGO);
                //table.Columns.Add(CANTIDAD);
    
                DataGridViewColumn CODIGO = new DataGridViewColumn(_grib.Columns[1].CellTemplate);
                DataGridViewColumn CANTIDAD = new DataGridViewColumn(_grib.Columns[0].CellTemplate);
    
                CODIGO.HeaderText = "CODIGO";
                CANTIDAD.HeaderText = "CANTIDAD";
    
    
                _grib.Columns.Remove("CODIGO");
                _grib.Columns.Remove("CANTIDAD");
    
                _grib.Columns.Add(CANTIDAD);
                _grib.Columns.Add(CODIGO);
    
                /////_grib.DataSource = table;
    
                _grib.AllowUserToAddRows = true;
                _grib.AllowUserToDeleteRows = true;
                
              
    usando lo que esta comentado y si el

    el problem es que cuando la aplicacion se ejecuta no me deja agregarle filas nuevas al grid
    lunes, 25 de mayo de 2009 19:16

Respuestas

  • encontre la respues

    solo agregar

    grid.readonly = false;

    jeje


    mi codigo final
     DataTable table = new DataTable();
                DataColumn CANTIDAD = new DataColumn("CANTIDAD", typeof(int));
                DataColumn CODIGO = new DataColumn("CODIGO", typeof(float));
    
                table.Columns.Add(CODIGO);
                table.Columns.Add(CANTIDAD);
    
    
    
                _grib.Columns.Remove("CODIGO");
                _grib.Columns.Remove("CANTIDAD");
    
    
                _grib.DataSource = table;
    
                _grib.ReadOnly  = false ;
                _grib.AllowUserToAddRows = true;
                _grib.AllowUserToDeleteRows = true;
                
    • Marcado como respuesta Gregory Pilar martes, 26 de mayo de 2009 19:17
    martes, 26 de mayo de 2009 19:17

Todas las respuestas

  • hola,

    DataGridView Add Row

    como veras podras hacer uso del DataGridView1.Rows.Add(), creando toda la fila a mano o utlizando el NewRow

    saludos

    Leandro Tuttini
    lunes, 25 de mayo de 2009 19:28
  • pero no es por codigo que debo de hacerlo es cuando la aplicacion este corriendo

    por que en un principio el grid aparece con las opciones de editar desabilitadas
    luego con otro boton se las activos  y no me funciona no puedo agregarle nada al grid
    mira el codigo que qu general el disenador
     // 
                // _grib
                // 
                this._grib.AllowUserToAddRows = false;
                this._grib.AllowUserToDeleteRows = false;
                this._grib.BackgroundColor = System.Drawing.SystemColors.Window;
                this._grib.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
                this._grib.Location = new System.Drawing.Point(24, 204);
                this._grib.Name = "_grib";
                this._grib.ReadOnly = true;
                this._grib.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;
                this._grib.Size = new System.Drawing.Size(295, 236);
                this._grib.TabIndex = 3;
    y luego con este es que pretendo abilitar la opcion de agregar filas
      DataTable table = new DataTable();
                DataColumn CANTIDAD = new DataColumn("CANTIDAD", typeof(int));
                DataColumn CODIGO = new DataColumn("CODIGO", typeof(float));
    
                table.Columns.Add(CODIGO);
                table.Columns.Add(CANTIDAD);
                table.Rows.Add(new object[] { 2, 11.0f });
                table.Rows.Add(new object[] { 1, 10.0f });
    
    
    
                _grib.Columns.Remove("CODIGO");
                _grib.Columns.Remove("CANTIDAD");
    
    
                _grib.DataSource = table;
    
                _grib.AllowUserToAddRows = true;
                _grib.AllowUserToDeleteRows = true;
                
    martes, 26 de mayo de 2009 12:19
  • hola,

    pero tienes las propiedades AllowUserToAddRows y AllowUserToDeleteRows en false.

    nos era esto lo que te impida editar los registros de la grilla.

    saludos
    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina
    martes, 26 de mayo de 2009 14:45
  • no fijate que al final hago esto
     _grib.AllowUserToAddRows = true;
    _grib.AllowUserToDeleteRows = true;
    martes, 26 de mayo de 2009 15:07
  • hola,

    una consulta lo qeu quieres hace es agregar una fila nueva, o editar una existente ?

    si quieres agregar una nueva, deberias crear un boton por fuera de la grilla, y al presionarla implementar el codigo del link que envie en el primer post.

    o es la edicion la que no te funciona ?

    saludos
    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina
    martes, 26 de mayo de 2009 15:39
  • ni la edicio ni la adicion me funcionan
    martes, 26 de mayo de 2009 18:35
  • el problema es con la opcion enable editing  que se keda en true esta opcion es por el pop menu de task

    pero no veo como ponerla en true con codigo
    martes, 26 de mayo de 2009 18:50
  • hola,

    prueba comparar lo que estas haciendo con lo que explica en este link:


    Data Entry in the Windows Forms DataGridView Control


    para ver si visualizas la diferencia, y que puede estar faltando.

    saludos
    Leandro Tuttini

    Work: Iceberg Solutions
    Blog
    Buenos Aires
    Argentina
    martes, 26 de mayo de 2009 19:11
  • encontre la respues

    solo agregar

    grid.readonly = false;

    jeje


    mi codigo final
     DataTable table = new DataTable();
                DataColumn CANTIDAD = new DataColumn("CANTIDAD", typeof(int));
                DataColumn CODIGO = new DataColumn("CODIGO", typeof(float));
    
                table.Columns.Add(CODIGO);
                table.Columns.Add(CANTIDAD);
    
    
    
                _grib.Columns.Remove("CODIGO");
                _grib.Columns.Remove("CANTIDAD");
    
    
                _grib.DataSource = table;
    
                _grib.ReadOnly  = false ;
                _grib.AllowUserToAddRows = true;
                _grib.AllowUserToDeleteRows = true;
                
    • Marcado como respuesta Gregory Pilar martes, 26 de mayo de 2009 19:17
    martes, 26 de mayo de 2009 19:17