Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/08/2014, 23:02
david_toshiba
 
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!!!