|
92
|
Programación / .NET (C#, VB.NET, ASP) / Problema con gridview ASP.NET C# [SOLUCIONADO]
|
en: 21 Noviembre 2014, 04:36 am
|
Hola soy yo de nuevo batallando con los gridviews de ASP.NET C# de casualidad el grid no hace nada cuando le inserto datos a la página, curiosamente si inserta en la base de datos y pues bueno necesito a fuerza que se visualicen esos datos. Acá les adjunto mi código STORE PROCEDURE CREATE PROCEDURE [dbo].[SP_LISTAR_DETALLE_FACTURA] @pid_Factura INT AS BEGIN SELECT * FROM tb_detalle WHERE id_Factura = @pid_Factura; END GO
CAPA_AD public List<Detalle> Listar_Detalle(Detalle objetodetalle) { string connectionString = Conexion.cadenaConexion; SqlConnection conn = new SqlConnection(connectionString); List<Detalle> detallesencontrados = null; SqlCommand cmd = new SqlCommand("SP_LISTAR_DETALLE_FACTURA", conn); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@pid_Factura", Convert.ToInt32(objetodetalle.Id_factura)); conn.Open(); // execute = cmd.ExecuteNonQuery(); SqlDataReader reader = cmd.ExecuteReader(); detallesencontrados = new List<Detalle>(); Detalle articulosaux = null; while (reader.Read()) { articulosaux = new Detalle(); articulosaux.Id_factura = Convert.ToInt32(reader[0]); articulosaux.Codigo_articulo= Convert.ToInt32(reader[1]); articulosaux.Descripcion= Convert.ToString(reader[2]); articulosaux.Cantidad = Convert.ToInt32(reader[3]); articulosaux.Monto = Convert.ToDouble(reader[4]); articulosaux.Subtotal = Convert.ToDouble(reader[5]); detallesencontrados.Add(articulosaux); } reader.Close(); conn.Close(); return detallesencontrados; }
CAPA_LOGICA public List<Detalle> Listar_Detalle(Detalle pdetalle) { List<Detalle> articuloslista = null; Detalle_AD detallesAD = new Detalle_AD(); articuloslista = detallesAD.Listar_Detalle(pdetalle); return articuloslista; }
METODO EN EL FORMULARIO private void llenar_grid(Detalle objeto) { List<Detalle> articulos_detalle = null; DetalleLN logicaln = new DetalleLN(); articulos_detalle = logicaln.Listar_Detalle(objeto); dgvDetalle.DataSource = articulos_detalle; dgvDetalle.DataBind(); }
Y por último el método que llama desde el botón double precio, cantidad, subtotal; List<Detalle> detallelista = null; if (txtcod.Text == "" || txtdescripcion.Text == "" || txtCantidad.Text == "" || txtcosto.Text == "" || txtNumeroFactura.Text == "") { Response.Write("Tienen que estar todos los espacios rellenados."); } else { Detalle Oobjeto = new Detalle(); Oobjeto.Codigo_articulo = Convert.ToInt32(txtcod.Text); Oobjeto.Id_factura = Convert.ToInt32(txtNumeroFactura.Text); Oobjeto.Descripcion = Convert.ToString(txtdescripcion.Text); Oobjeto.Monto = Convert.ToDouble(txtcosto.Text); Oobjeto.Cantidad = Convert.ToInt32(txtCantidad.Text); cantidad = Convert.ToInt32(txtCantidad.Text); precio = Convert.ToDouble(txtcosto.Text); subtotal = precio * cantidad; Oobjeto.Subtotal = subtotal; DetalleLN objeto = new DetalleLN(); objeto.Agregar_Detalle(Oobjeto); llenar_grid(Oobjeto); sumarcolumna(); txtNumeroFactura.Enabled = false; }
Pues ya he intentado de cualquier variedad de formas, no es posible que no pueda mostrar, que me falta!!?. Les agradezco mucho que se tomen la molestia de leerme, si saben por favor les agradecería una manita. Saludos
|
|
|
93
|
Programación / .NET (C#, VB.NET, ASP) / Re: Que es mejor o recomiendan más Vb o C#?
|
en: 15 Noviembre 2014, 21:59 pm
|
Estoy de acuerdo con Elektro, no soy experto en ninguno de los dos, me falta MUCHO para considerarme experto, tengo algunos años programando, pero se un poco lo básico para decir que ambos lenguajes son muy potentes y puede dar un gran rendimiento.
Me gusta mucho VB.NET, lo curioso es ver la GRAN cantidad de gente que lo odia, lo desprestigia y sobretodo lo hace a un lado, cuando es un lenguaje MUY potente y competente, estuve viendo estadìsticas de los lenguajes y en este año VB.NET ha subido muchas casillas, no es un lenguaje malo y es sencillo y fácil de entender.
C# me gusta también, es un excelente lenguaje y muy poderoso, sobre las malas prácticas ya lo especificó Elektro, hay opciones que te permiten trabajar mejor con lenguajes "opcion strict" es una de ellas en VB
PD: Elektro necesito ayuda en el otro post xD(no he podido conseguirlo u.u)
|
|
|
95
|
Programación / .NET (C#, VB.NET, ASP) / Re: DUDA ASP.NET C#
|
en: 13 Noviembre 2014, 03:26 am
|
Estoy usando este otro código y el gridview ni se inmuta D: DataTable dt; protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { dt = new DataTable(); MakeDataTable(); } else { dt = (DataTable)ViewState["DataTable"]; } ViewState["DataTable"] = dt; } protected void btnAgregar_Click(object sender, EventArgs e) { AddToDataTable(); BindGrid(); } private void MakeDataTable() { dt.Columns.Add("Codigo_Articulo"); dt.Columns.Add("Descripcion"); dt.Columns.Add("Cantidad"); dt.Columns.Add("Precio"); } private void AddToDataTable() { DataRow dr = dt.NewRow(); dr["Codigo_Articulo"] = txtCodArt.Text; dr["Descripcion"] = txtDescripcion.Text; dr["Cantidad"] = txtCantidad.Text; dr["Precio"] = txtPrecio.Text; dt.Rows.Add(dr); } private void BindGrid() { dgvCostos.DataSource = dt; dgvCostos.DataBind(); }
|
|
|
96
|
Programación / .NET (C#, VB.NET, ASP) / Re: DUDA ASP.NET C#
|
en: 13 Noviembre 2014, 02:43 am
|
Lamento decirlo, pero sigo sin poder agregarlos, el datagrid sigue en blanco, será algún postback o alguna propiedad(le cambie los parentesis por cuadrados porque me daba error, pero lo demás estaba idéntico). //Codigo del botón this.dt = (DataTable)dgvCostos.DataSource; if (dt == null) { dt = new DataTable(); dt.Columns.AddRange(columns); dgvCostos.DataSource = dt; dgvCostos.DataBind(); } / DataRow dr = dt.NewRow(); dr["Codigo_Articulo"] = txtCodArt.Text; dr["Descripcion"] = txtDescripcion.Text; dr["Cantidad"] = txtCantidad.Text; dr["Precio"] = txtPrecio.Text; dt.Rows.Add(dr); dt.AcceptChanges(); } //Codigo del datatable private DataTable dt; private readonly DataColumn[] columns = { new DataColumn("Codigo_Articulo", typeof(string)), new DataColumn("Descripcion", typeof(string)), new DataColumn("Cantidad", typeof(int)), new DataColumn("Precio", typeof(double)) };
|
|
|
97
|
Programación / Programación General / Re: Calidad en desarrollo de software (Paper)
|
en: 12 Noviembre 2014, 23:11 pm
|
Buen artículo, estuve de acuerdo con unas cosas y otras no, pero sencillamente me parece un excelente aporte y porque no?, un punto de vista disinto.
Como consejo, ten cuidado con las faltas ortográficas, por ejemplo en la página 10. No quiero caer mal con eso, simplemente te lo doy como recomendación.
SALUDOS.
|
|
|
100
|
Programación / .NET (C#, VB.NET, ASP) / DUDA ASP.NET C#
|
en: 12 Noviembre 2014, 06:11 am
|
Buenas Estoy tratando de hacer algo muy simple, es solo agregar al datagridview un registro conforme voy dandole los datos y posteriormente multiplicar y sumar las facturas, tal como se hace cuando uno realiza un facturador. //DataTable dt = new DataTable(); //dt.Columns.Add("Codigo_Articulo"); //dt.Columns.Add("Descripcion"); //dt.Columns.Add("Cantidad"); //dt.Columns.Add("Precio"); DataTable dt = dgvCostos.DataSource as DataTable; if (dt != null) { DataRow dr = dt.NewRow(); dr["Codigo_Articulo"] = txtCodArt.Text; dr["Descripcion"] = txtDescripcion.Text; dr["Cantidad"] = txtCantidad.Text; dr["Precio"] = txtPrecio.Text; dt.Rows.Add(dr); dt.AcceptChanges(); dgvCostos.DataSource = dt; dgvCostos.DataBind(); }
Estoy con ese codigo, pero simplemente no hace nada, como pueden ver lo he alternado, pero simplemente el datagridview sigue viendose vacio. En el datagridview tengo realizado las columnas respectivas(ya estan creadas), pero bueno sigo sin entender el porque no se agregan con un codigo tan simple. Y de paso, saben como puedo hacer que conforme se agregue se multipliquen la columna precio * cantidad?, y al final sumarlos todos como en una factura?. Estuve pensando que usando alguno de los parametros e que capturan los eventos se puede realizar, pero talvez haya una forma mas simple. Estoy trabajando con visual studio 2010, ASP.NET C#. De antemano gracias al menos por leerme.
|
|
|
|
|
|
|