none
Mostrar datos de un DataTable en Textbox RRS feed

  • Pregunta

  • Buenas noches. tengo una aplicacion en 3 capas. Mi duda es como mostrar por ejemplo el id y nombre de un articulo al buscar por codigo de barras . queria hacer algo asi: 

    CAPA DATOS
    
    public DataTable BuscarEntreFechas(string TextoBuscar, string TextoBuscar1)
            {
                DataTable dt = new DataTable("Ingresos");
                SqlConnection conex = new SqlConnection();
                try
                {
                    conex.ConnectionString = Conexion.Con;
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conex;
                    cmd.CommandText = "IngresosBuscarEntreFechas";
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("TextoBuscar", TextoBuscar);
                    cmd.Parameters.AddWithValue("TextoBuscar1", TextoBuscar1);
                    SqlDataAdapter da = new SqlDataAdapter(cmd);
                    da.Fill(dt);
    
                }
                catch (Exception ex)
                {
                    dt = null;
                }
                return dt;
    
            }
    
    
    
    CAPA LOGICA :
    
     public static DataTable BuscarEntreFechas(string textobuscar,string textobuscar1)
            {
                RepositorioIngreso repositorio = new RepositorioIngreso();
             
                return repositorio.BuscarEntreFechas(textobuscar, textobuscar1);
            }
    
    CAPA PRESENTACION:
    
    private void BuscarEntreFechas()
            {
                this.DgvIngreso.DataSource = GestorIngreso.BuscarEntreFechas(DTFechaInicio.Value.ToString("dd/MM/yyyy"), DTFechaFin.Value.ToString("dd/MM/yyyy"));
                
    
            }
    Esto me muestra en un DataGRidView yo necesito mostrar algunos datos de mi consulta en textbox. y nose como hacer en la capa presentacion

    jueves, 28 de noviembre de 2019 0:29

Respuestas

  • hola

    >>yo necesito mostrar algunos datos de mi consulta en textbox.

    Que seran exactamente esos "algunos datos" ? porque si tienes un datatable puede que devuelve varios registros

    Entonces esos "algunos datos" son algunas columnas de una row o algunas filas de una columna, basicamente tienes una matriz y eso hay muchas formas de pasarlo a textbox

    En priencipio asigna los datos al datatable

    vad dtResult = GestorIngreso.BuscarEntreFechas(DTFechaInicio.Value.ToString("dd/MM/yyyy"), DTFechaFin.Value.ToString("dd/MM/yyyy"));

    igual no se porque tienes que poner la fecha como string, deberias poder usar un DateTime

    despeus puede tomer los datos de una sola row

    var row = dtResult.Rows[0]; textbox1.Text = row["nombrecolumns"].ToString();

    textbox2.Text = row["otracolumns"].ToString();



    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta IVAN PEREYRA domingo, 1 de diciembre de 2019 0:08
    viernes, 29 de noviembre de 2019 22:50

Todas las respuestas

  • Hola IVAN

    Para mostrar algo en un TextBox, por ejemplo lo que hay en una celda del DGV

    textBox1.Text = dataGridView1.Rows[fila].Cells[col].Value.ToString();

    o

    textBox1.Text = BuscarPorCodigoDeBarras().Nombre;

    Saludos 

    Pablo

    jueves, 28 de noviembre de 2019 2:50
  • Hola Pablo, gracias por tu respuesta, pasa que los datos no están en el DataGridView sino que están en un data table y dependiendo el código de barra que ingrese me muestro otros datos en distintos TextBox, 

    jueves, 28 de noviembre de 2019 3:33
  • Si vienen los datos en un DataTable, podes hacer así

    textBox1.Text = dataTable1.Rows[fila].Field<Tipo>(col);

    Podes hacer esto en varios TextBoxes

    fila y col son los índices (empiezan en 0) y Tipo es el tipo de datos (string, int, float, DateTime, etc)

    Lo que no se como es, es lo del código de barras, pero la "lógica" debe ser igual

    jueves, 28 de noviembre de 2019 22:55
  • hola

    >>yo necesito mostrar algunos datos de mi consulta en textbox.

    Que seran exactamente esos "algunos datos" ? porque si tienes un datatable puede que devuelve varios registros

    Entonces esos "algunos datos" son algunas columnas de una row o algunas filas de una columna, basicamente tienes una matriz y eso hay muchas formas de pasarlo a textbox

    En priencipio asigna los datos al datatable

    vad dtResult = GestorIngreso.BuscarEntreFechas(DTFechaInicio.Value.ToString("dd/MM/yyyy"), DTFechaFin.Value.ToString("dd/MM/yyyy"));

    igual no se porque tienes que poner la fecha como string, deberias poder usar un DateTime

    despeus puede tomer los datos de una sola row

    var row = dtResult.Rows[0]; textbox1.Text = row["nombrecolumns"].ToString();

    textbox2.Text = row["otracolumns"].ToString();



    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta IVAN PEREYRA domingo, 1 de diciembre de 2019 0:08
    viernes, 29 de noviembre de 2019 22:50
  • Buenas noches Leandro. Muchas gracias por tu respuesta . me sirvió de mucho, ya logre resolver el problema. 

    Y perdón por ser poco explicativo en mi pregunta. al ingresar el código de barras en el textbox correspondiente al mismo, me debía completar 2 texto con datos del datatable , que son el id y nombre correspondiente a un articulo. 

    domingo, 1 de diciembre de 2019 0:08
  • Febrero del 2021, Gracias por tu respuesta.
    viernes, 26 de febrero de 2021 2:18