none
C# Gridview no funciona la opcion SELECCIONAR cuando agrego los datos dinamicamente RRS feed

  • Pregunta

  • Hola, estoy "enchufado" con el c# jaja, disculpen tantas preguntas juntas.

    Estoy agregando datos a un gridview pero de manera manual, o dinamicamente, siguiendo tutoriales, sobre el gridview le agrego los "TemplateField", luego edito dicho template y le agrego por ejemplo un label a cada columna y lo enlazo por ejemplo una de las culumnas a un campo Eval("nomsoc") y asi con cada una de ellas.

    Luego en las propiedades del gridview le pongo en True la propiedad AutoGenerateSelectButton lo cual me genera una columna extra con la opcion de "seleccionar" la fila correspondiente

    En un boton pongo el siguiente codigo

     protected void BLleno_Click(object sender, EventArgs e)
            {
                DataTable dataTable = new DataTable();
                DataRow dataRow = null;
                dataTable.Columns.Add(new DataColumn("ctasoc", typeof(string)));
                dataTable.Columns.Add(new DataColumn("nomsoc", typeof(string)));

                dataRow = dataTable.NewRow();
                dataRow["ctasoc"] = "1906/00/3";
                dataRow["nomsoc"] = "Romeo";            
                dataTable.Rows.Add(dataRow);

                dataRow = dataTable.NewRow();
                dataRow["ctasoc"] = "1906/01/1";
                dataRow["nomsoc"] = "Delia";
                dataTable.Rows.Add(dataRow);
                
                GridView1.DataSource = dataTable;
                GridView1.DataBind();
                GridView1.Columns[1].ItemStyle.HorizontalAlign = HorizontalAlign.Left;
                GridView1.Columns[1].ItemStyle.Width = 300;
            }


    En el evento SelectedIndexChanged del gridview pongo el siguiente codigo

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                TextBox3.Text = GridView1.SelectedRow.Cells[0].Text;            

            }

    La tabla me la llena bien y tal cual la necesito pero cuando clilckeo en "seleccionar" no me trae ningun dato, textbox3 queda en blanco

    Lo que me llama la atencion es que si hago el mismo gridview pero enlazado a un datasource si funciona

    Alguien me puede ayudar con esto????

    Gracias de antemano

    sábado, 27 de julio de 2019 15:25

Respuestas

  • Ya lo solucione, le asigne un nombre de campo a la propiedad DataKeyNames del grid y en el evento SelectedIndexChanged hago lo siguiente

    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
            {
                 TextBox3.Text = GridView1.SelectedValue.ToString();           

            }

    Esto me trae el contenido del campo que asigne en la propiedad DataKeyNames, en mi caso, cuando cargue dicho campo le asigne el valor de la clave del registro, asi que con ese valor puedo consultar a la base de datos

    Espero haberme explicado 

    Saludos y gracias

    • Marcado como respuesta Nestor Vitozzi domingo, 28 de julio de 2019 15:28
    domingo, 28 de julio de 2019 15:28

Todas las respuestas