Foros del Web » Programación para mayores de 30 ;) » .NET »

Pasar A Textbox Datos de un gridview que tiene informacion de dos tablas

Estas en el tema de Pasar A Textbox Datos de un gridview que tiene informacion de dos tablas en el foro de .NET en Foros del Web. Que tal Foreros!!! Es un gusto poder ingresar a el foro ya que es mi primera vez que pido ayuda en un sitio como este ...
  #1 (permalink)  
Antiguo 12/08/2014, 23:02
 
Fecha de Ingreso: agosto-2014
Mensajes: 1
Antigüedad: 9 años, 8 meses
Puntos: 0
Pasar A Textbox Datos de un gridview que tiene informacion de dos tablas

Que tal Foreros!!!

Es un gusto poder ingresar a el foro ya que es mi primera vez que pido ayuda en un sitio como este y espero sea grata mi estancia en esto..

Quisiera si no es mucha molestia me puedan dar una orientacion de como pasar los datos que tengo en un gridview a unos texbox.

Me permito explicarme un poco mas.. estoy haciendo una aplicacion en n capas (presentacion, negocio, entidades y datos), en la capa de presentacion tengo un gridview que muestra informacion de dos tablas de mi BD, de tal manera que el gridview muestra informacion de tres columnas (Nombre del Articulo, Precio y Categoria) Las dos primeras columnas son datos de la tabla Articulo y la tercera columna muestra informacion de la tabla Categoria, mas o menos mi grid queda de la siguiente manera:

-----------------------------------------------------------------------------
| NOMBRE DEL ARTICULO | PRECIO |CATEGORIA |
-----------------------------------------------------------------------------
Seleccionar | Queso Mozarella | 18.00 | Lacteos |
Seleccionar | Coca Cola | 6.00 | Bebidas |

Solo he podido conseguir pasar los valores de las dos primeras columnas a los textbox respectivos, pero no he logrado pasar el valor de la tercera columna (categoria) al texbox correspondiente ya que es valor proviene de otra tabla

Pongo el codigo generado a continuacion

Capa Datos

public E_Articulo ArticuloxId(int ArtId)
{
SqlDataAdapter dap = new SqlDataAdapter("USP_MOSTRARPORID", Cn);
dap.SelectCommand.CommandType = CommandType.StoredProcedure;

dap.SelectCommand.Parameters.AddWithValue("@ArtId" , ArtId);

try
{
AbrirConexion();
SqlDataReader sdr = dap.SelectCommand.ExecuteReader(CommandBehavior.Si ngleRow);

if (sdr.HasRows)
{
sdr.Read();
objE_Articulo.ArtNombre = sdr.GetString(sdr.GetOrdinal("ArtNombre"));
objE_Articulo.ArtPrecio = sdr.GetDecimal(sdr.GetOrdinal("ArtPrecio"));
objE_Categoria.CatNombre = sdr.GetString(sdr.GetOrdinal("CatNombre"));

sdr.Close();
}
return objE_Articulo;
}
catch (Exception ex)
{
throw ex;
}
finally
{
CerrarConexion();
}
}

Capa Negocio

public class N_Articulo
{
D_Articulo objNegocioArticulo = new D_Articulo();

public E_Articulo ArticuloxId(int ArtId)
{
return objNegocioArticulo.ArticuloxId(ArtId);
}

Capa presentacion

private void ObjetoATextbox()
{
try
{
objEntiArticulo = objNegArticulo.ArticuloxId(Convert.ToInt32(gvArtic ulos.DataKeys[gvArticulos.SelectedIndex].Value.ToString()));
objEntiCategoria = objNegCategoria.CategoriaxId(Convert.ToInt32(gvArt iculos.DataKeys[gvArticulos.SelectedIndex].Value.ToString()));
{
txtNombre.Text = objEntiArticulo.ArtNombre;
txtPrecio.Text = Convert.ToDecimal(objEntiArticulo.ArtPrecio).ToStr ing();
txtCategoria.Text = objEntiCategoria.CatNombre;
}
}
catch (Exception)
{

}

}

No se por que no me pasa el valor de categoria del grigview a el texbox que le corresponde. Tengo la impresion de que me falta hacer un metodo en la capa de datos similar al que en expuesto aqui, pero con la entidad Categoria. Ya lo he intentado pero no consigo mi proposito, no se si me di a entender, sino es asi hagamenlo saber y espero pueda recibir alguna sugerencia.

Muchas gracias!!!
  #2 (permalink)  
Antiguo 10/09/2014, 11:43
Avatar de junior1920  
Fecha de Ingreso: noviembre-2010
Ubicación: Tumán
Mensajes: 77
Antigüedad: 13 años, 4 meses
Puntos: 1
Información Respuesta: Pasar A Textbox Datos de un gridview que tiene informacion de dos tablas

Estimado:
Imagino que al seleccionar la fila se debe de cargar los datos a los textbox... Umm y si lo programas algo similar a esto:

Código vb:
Ver original
  1. For Each d As DataGridViewRow In FormListaSalEntVehi.DgvListaRecorVehi.SelectedRows
  2.             'TxtCodigo.Text = d.Cells(0).Value
  3.            TxtIdV.Text = d.Cells(1).Value
  4.         Next
  #3 (permalink)  
Antiguo 10/09/2014, 15:34
Avatar de Drako_18  
Fecha de Ingreso: mayo-2005
Ubicación: Madrid
Mensajes: 505
Antigüedad: 18 años, 11 meses
Puntos: 16
Respuesta: Pasar A Textbox Datos de un gridview que tiene informacion de dos tablas

Buenas compañero,

Bienvenido a nuestro foro! :)
Pues si no me equivoco, no creas ningún evento para controlar la selección en el GridView no?
Tienes 2 opciones, uno de las columnas le indicas comando="select" y después controlas esto en el evento RowCommand (yo lo pondría directamente aquí, aunque tenga su evento propio... Pues pasará por este si o si...) en el cual, deberás recoger el índice de la fila actual (e.commandArgument) y asignárselo al objeto GridView...
MyGrid.SelectedIndex = e.CommandArgument

De esta forma, podrás usar MyGrid.SelectedDataKeys("Nombre_Campo").ToString
Si necesitas cualquier otra cosa... (algún ejemplo básico o algo así...)

Ahí va el ejemplo de Microsoft:
http://msdn.microsoft.com/es-es/libr...v=vs.110).aspx


Un saludo!!!!
__________________
Rubén Espada
Desarrollador full stack .Net (Angular + JS + .Net Core)

Etiquetas: gridview, informacion, sql, tabla, tablas, textbox, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:01.