Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - joalbela

#1
Desarrollo Web / Sumar columnas en un gridview
26 Febrero 2012, 21:03 PM
Buena tarde

Me gustaria conocer cual es el codigo para sumar cada una de las columnas de un gridview en asp.net.

Muchas Gracias
#2
Buenas noches

Me gustaria que me ayudaran con el inconveniente que estoy presentando, tengo la siguiente consulta pero me esta trayendo los registros repetidos, necesito que solo me traiga un registro de cada noimbre de compañia


SELECT DISTINCT  C.NOMBRES,
CASE Month(v.fecha) when  '1' THEN ROUND(SUM(v.valor_total),0) end enero,
CASE Month(v.fecha) when  '2' THEN ROUND(SUM(v.valor_total),0) end Febrero,
CASE Month(v.fecha) when  '3' THEN ROUND(SUM(v.valor_total),0) end Marzo,
CASE Month(v.fecha) when  '4' THEN ROUND(SUM(v.valor_total),0) end Abril,
CASE Month(v.fecha) when  '5' THEN ROUND(SUM(v.valor_total),0) end Mayo,
CASE Month(v.fecha) when  '6' THEN ROUND(SUM(v.valor_total),0) end Jumio
FROM CLIENTES C  JOIN VENTAS V on C.NIT=V.NIT
WHERE   Month(v.fecha)  between '2'and '6'
GROUP BY C.NOMBRES, Month(v.fecha)
ORDER BY C.NOMBRES

Muchas gracias
#3
Programación General / Ayuda con sql server
25 Febrero 2012, 16:52 PM
Buen dia

Me gustaria que me ayudaran con esta consulta en sql server, tengo 2 tablas una llamada clientes que tiene nit, nombre,zona y la otra ventas que tiene numero,fecha,nit, valor total.
Necesito hacer una consulta que me traiga el nombre de la compañia, total de ventas, y ventas en enero febrero mes a mes etc

cliente   total    enero   febrero   marzo   abril   mayo
#4
.NET (C#, VB.NET, ASP) / Reportviewer
21 Junio 2011, 15:27 PM
Hola Buenos dias me gustarian saber si alguno de ustedes tiene una pagina o un manual para crear Reportviewer, les agradeceria mcuho...
#5
Hola buenas tardes, tengo una pequeña duda estoy creando un programa en c# pero necesito que el evento del boton me finalice al llegar a un else despues de un mensaje y no me siga haciendo el recorrido del siguiente resultado en wile.

Código (csharp) [Seleccionar]
   if (lleer.Read())
                    {
                        lineatabla = Convert.ToInt32(lleer[0]);
                        clientelinea = Convert.ToInt32(leer[1]);
                        lleer.Close();
                        SqlDataReader sd;
                        SqlCommand productos = new SqlCommand("SELECT lngIdProducto from tblproductos where lngIdProducto=" + cdgopromarion + " and lngidcliente=" + cliente + "", conexion);
                        sd = productos.ExecuteReader();
                       
                        if (sd.Read())
                        {
                            prodcttabla = Convert.ToInt32(sd[0]);
                            if (prodcttabla == cdgopromarion)
                            {
                                MessageBox.Show("El codigo de producto " + cdgopromarion + " " + desproducto + "  ya se encuentra registrado para el cliente " + cliente + "");
                           
                            }
                        }
                        else
                        {
                            sd.Close();
                            SqlDataReader insertar;
                            SqlCommand insertproductos = new SqlCommand("insert into dbo.tblProductos  values('" + cdgoprocliente + "'," + cdgopromarion + ",'" + desproducto + "'," + linea + "," + cliente + "," + precio + ",'" + iva2 + "'," + estado + "," + unm + "," + opera + ")", conexion);
                            insertar = insertproductos.ExecuteReader();
                            insertar.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Los datos del codigo de linea " + linea + " asociado al producto " + cdgopromarion + " " + desproducto + " y cliente " + cliente + " no existe ");
                   
                    }



necesito que cuando llegue a los Messagebox me para todo el proceso hasta el momento pero no me cierre los formularios, no se como hacerlo

Necesito ayuda
#6
HOLA,  tengo un datagrid que exporto a pdf y me gustaria poder colocarle el numero de pagina a cada una y no se como estoy trabajando en c#
#7
Hola amigos necesito una yuda urgente, estoy generando un datagridview y l oestoy exportando a pdf me gustaria poder alinear las columnas como quiero y poder colocarle el numero de la hoja a cada una si algo aca dejo el codigo . mucahs gracias.



Código (csharp) [Seleccionar]
OdbcDataAdapter dta  =new OdbcDataAdapter (" SELECT a.cdgo_prdcto COD,a.nmbre_prdcto DESCRIPCION, SUM(b.cntdad)PMVTA,a.csto_rpscion CR, " +
                                                   " a.clfccion_prmnnte P, a.clfccion_tmpral T,a.cdgo_brra EAN" +
                                                   " from prdcto a , prmdio_vnta b " +
                                                   " where estdo = 'A' " +
                                                   " and a.cdgo_prdcto = b.cdgo_prdcto " +
                                                   " group by 1,2,4,5,6,7 " +
                                                    " order by 2 ", conn);



            DataSet dsdatos = new DataSet();
            dta.Fill(dsdatos, "Datos");
           
            this.dataGridView1.DataMember = "Datos";
            //this.dataGridView1.Columns(1).Width = 4400;
            this.dataGridView1.DataSource = dsdatos;
           
       

        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        //private void dataGridView1_DefaultCellStyleChanged(object sender, EventArgs e)
       
        private void btnExportar_Click(object sender, EventArgs e)
        {


            DateTime hora = DateTime.Now;
            string fcha_ttal = Convert.ToDateTime(hora).Day + "/" + Convert.ToDateTime(hora).Month + "/" + Convert.ToDateTime(hora).Year;


            Document doc = new Document(PageSize.LETTER, 10, 10, 10, 10);
            string filename = "C:\\Temp\\Listado Total.pdf";
            iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(@"C:\Mis documentos\Biblia_productos\Biblia_productos\Images\marion.JPG"); jpg.Alignment = iTextSharp.text.Image.ALIGN_LEFT;
            Chunk encab = new Chunk(" LISTA DE PRODUCTOS CODIFICADOS EN " + fcha_ttal + "", FontFactory.GetFont("COURIER", 12));


            try
            {
                FileStream file = new FileStream
               (filename, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
                PdfWriter.GetInstance(doc, file);
                doc.Open();


                doc.Add(new Paragraph(encab));
                doc.Add(jpg);
                GenerarDocumento(doc);

                Process.Start(filename);
                doc.Close();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

        //Función que genera el documento Pdf
        public void GenerarDocumento(Document document)
        {
     
           
           
            PdfPTable datatable = new PdfPTable(dataGridView1.ColumnCount);
            datatable.DefaultCell.Padding = 1;
            float[] headerwidths = GetTamañoColumnas(dataGridView1);
           

            datatable.SetWidths(headerwidths);
            datatable.WidthPercentage = 100;
            datatable.DefaultCell.BorderWidth = 4; // Define el grosor del encabezado

            //datatable.DefaultCell.VerticalAlignment = Element.ALIGN_CENTER; // Alinea el encabezado al centro
            //datatable.DefaultCell.Column =
            datatable.DefaultCell.Padding = 3;     //Amplia el tamaño del encabezado
                   
   

           iTextSharp.text.Font fuente = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.COURIER, 9);

           Phrase objP = new Phrase("A", fuente);
                       
            for (int i = 0; i < dataGridView1.ColumnCount; i++)
            {

                objP = new Phrase(dataGridView1.Columns[i].HeaderText, fuente);
               
                //this.dataGridView1.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.TopCenter;
                datatable.AddCell(objP);


            }
            datatable.HeaderRows = 1;
            datatable.DefaultCell.BorderWidth = 1;
                       

            for (int i = 0; i < dataGridView1.RowCount - 1; i++)
            {
                for (int j = 0; j < dataGridView1.ColumnCount; j++)
                {

                    objP = new Phrase(dataGridView1[j, i].Value.ToString(), fuente);
                    datatable.AddCell(objP);
                 }
                datatable.CompleteRow();
                }
           
            document.Add(datatable);

        }
        public float[] GetTamañoColumnas(DataGridView dg)
        {
            float[] values = new float[dg.ColumnCount];
            for (int i = 0; i < dg.ColumnCount; i++)
            {
                values[i] = (float)dg.Columns[i].Width;
            }
            return values;
        }
#8
Utilizar un cast en una consulta de c#


Código (csharp) [Seleccionar]
IfxDataAdapter dt = new IfxDataAdapter(" SELECT a.cdgo_prdcto COD,a.nmbre_prdcto DESCRIPCION, SUM(b.cntdad)PMVTA, a.csto_rpscion CR, " +
                                                  " a.clfccion_prmnnte P, a.clfccion_tmpral T,a.cdgo_brra EAN" +
                                                 
                                                  " FROM prdcto a , prmdio_vnta b " +
                                                  " WHERE estdo = 'A' " +
                                                  " AND a.cdgo_prdcto = b.cdgo_prdcto " +
                                                  " GROUP BY 1,2,4,5,6,7 " +
                                                  " ORDER BY 2 ", conexion);
         


Deseo usarlo en a.csto_rpscion para que me traiga los valores tal y como estan en la bd que es informix ya que en la bd tiene un decimal y aqui no me lo trae como entero
#9
Hola tengo un inconveniente, lo que pasa es que estoy trayendo informacion d euna base de datos a un datagrid y luego las exporto a pdf pero necesito estrablecerle los decimales por ejemplo tengo este precio de un articulo  638500 y necesito que el decimal se me coloque en la siguiente posicion 6385,00 sin que a este valor traido de la base de datos me coloque ams ceros sino que a los que trae los separe por decimales y que al exportarlos al pdf me generen igual
#10
Hola amigos tengo este codigo que genera un reporte en un datagridview y luego lo exporta a PDF, me gustaria que el encabezado donde dice los nombres de las columnas tuviera una letra en negrilla y que esta fila fuera un poco mas gruesa y con un color de fondo pero no se como hacerle les agredeceria mucho su ayuda.




Código (csharp) [Seleccionar]

            IfxDataAdapter dt = new IfxDataAdapter(" SELECT a.cdgo_prdcto as CODIGO,a.nmbre_prdcto DESCRIPCION, SUM(b.cntdad)PMDIOVTA ,a.csto_rpscion CR, " +
                                                   " a.clfccion_prmnnte P, a.clfccion_tmpral T,a.cdgo_brra EAN" +
                                                   " from prdcto a , prmdio_vnta b " +
                                                   " where estdo = 'A' " +
                                                   " and a.cdgo_prdcto = b.cdgo_prdcto " +
                                                   " group by 1,2,4,5,6,7 " +                                                                                                                           
                                                    " order by 2 ", conexion);
            DataGridTableStyle ts1 = new DataGridTableStyle();


           
             DataSet dsdatos = new DataSet();
             dt.Fill(dsdatos, "Datos");                         
           
            this.dataGridView1.DataMember = "Datos";
            //this.dataGridView1.Columns(1).Width = 4400;
            this.dataGridView1.DataSource = dsdatos;
           
           
         
           
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void btnExportar_Click(object sender, EventArgs e)
        {


            DateTime hora = DateTime.Now;
            string fcha_ttal = Convert.ToDateTime(hora).Day + "/" + Convert.ToDateTime(hora).Month + "/" + Convert.ToDateTime(hora).Year;


            Document doc = new Document(PageSize.A4, 9, 9, 10, 10);
            string filename = "C:\\Temp\\Listado Total.pdf";
            iTextSharp.text.Image jpg = iTextSharp.text.Image.GetInstance(@"C:\Mis documentos\Biblia_productos\Biblia_productos\Images\marion.JPG"); jpg.Alignment = iTextSharp.text.Image.ALIGN_LEFT;
            Chunk encab = new Chunk(" LISTA DE PRODUCTOS CODIFICADOS EN " + fcha_ttal + "", FontFactory.GetFont("COURIER", 12));
         

            try
            {
                FileStream file = new FileStream
               (filename, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite);
                PdfWriter.GetInstance(doc, file);
                doc.Open();
               

                doc.Add(new Paragraph(encab));
                doc.Add(jpg);
                GenerarDocumento(doc);

                Process.Start(filename);
                doc.Close();
            }

            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }

        //Función que genera el documento Pdf
        public void GenerarDocumento(Document document)
        {
            PdfPTable datatable = new PdfPTable(dataGridView1.ColumnCount);
            datatable.DefaultCell.Padding = 1;
            float[] headerwidths = GetTamañoColumnas(dataGridView1);

            datatable.SetWidths(headerwidths);
            datatable.WidthPercentage = 100;
            datatable.DefaultCell.BorderWidth = 2;

            iTextSharp.text.Font fuente = new iTextSharp.text.Font(iTextSharp.text.Font.FontFamily.COURIER);
           
            DataGridViewCellStyle style = this.dataGridView1.ColumnHeadersDefaultCellStyle;

            Phrase objP = new Phrase("A", fuente);

            datatable.DefaultCell.HorizontalAlignment = Element.ALIGN_LEFT;
            for (int i = 0; i < dataGridView1.ColumnCount; i++)
            {
               
                objP = new Phrase(dataGridView1.Columns[i].HeaderText, fuente);
                 datatable.HorizontalAlignment = Element.ALIGN_CENTER;

                datatable.AddCell(objP);


            }
            datatable.HeaderRows =1;
         
            datatable.DefaultCell.BorderWidth = 1;
           
           
           
           
            for (int i = 0; i < dataGridView1.RowCount - 1; i++)
            {
                for (int j = 0; j < dataGridView1.ColumnCount; j++)
                {
                    objP = new Phrase(dataGridView1[j, i].Value.ToString(), fuente);
                   
                    style.BackColor = Color.WhiteSmoke;
                    style.ForeColor = Color.Gray;

                    datatable.AddCell(objP);
                   


                }
                datatable.CompleteRow();
            }
            document.Add(datatable);
        }
        public float[] GetTamañoColumnas(DataGridView dg)
        {
            float[] values = new float[dg.ColumnCount];
            for (int i = 0; i < dg.ColumnCount; i++)
            {
                values[i] = (float)dg.Columns[i].Width;
            }
            return values;
        }
#11
Hola necesito que me ayuden, lo que pasa es que quiero modificar los nombres de las columnas de mi datagrid en tiempo de ejecucion y no se muchas gracias trabajo en c#

Código (csharp) [Seleccionar]
IfxDataAdapter dt = new IfxDataAdapter(" SELECT a.cdgo_prdcto ,a.nmbre_prdcto DESCRIPCION, SUM(b.cntdad)PMDIOVTA ,a.csto_rpscion CR, " +
                                                  " a.clfccion_prmnnte P, a.clfccion_tmpral T,a.cdgo_brra EAN" +
                                                  " from prdcto a , prmdio_vnta b " +
                                                  " where estdo = 'A' " +
                                                  " and a.cdgo_prdcto = b.cdgo_prdcto " +
                                                  " group by 1,2,4,5,6,7 " +                                                                                                                            
                                                   " order by 2 ", conexion);
           
         
            DataSet dsdatos = new DataSet();
            dt.Fill(dsdatos, "Datos");
#12
Hola amigos, tengo un problema lo que pasa es que genere un datagrid y luego lo exporte a pdf y me gustaria poder cambiarle el estilo de la  letra por una curier new ya que no he podido hacerlo.

Muchas gracias
#13
Bueno explico un poco mi problema, estoy exportando un datagrid en c# 2005 que tiene una lista de articulos de la a a la z, me gustaria que al exportarlos a pdf cuando pasara de la a a la b me pasara a otra hoja del mismo documento ,la idea es que no me queden pegados los de la a con b y asi hasta la z, como hacerlo ? y como seria la estructura de ese codigo, recuerden que eston haciendo con un datagrid.
Muchas gracias
#14
Hola me gustaria saber como puedo sacar el factorial de un numero en c# y como determinar si es primo
#15
using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int n, nt, cedula, cont = 0, categoria, sb;
            double sal, fp, eps, st, ingresos, deducciones, sueldo;
            string proc;
            Console.WriteLine("ingrese la cantidad de personas a procesar");
            n = int.Parse(Console.ReadLine());
            {
                for (cont = 1; cont <= n; cont = cont + 1)

                    Console.WriteLine("Digite cedula: ");
                cedula = int.Parse(Console.ReadLine());
                Console.WriteLine("Digite numero de días trabajados: ");
                nt = int.Parse(Console.ReadLine());
                Console.WriteLine("Digite categoria 1,2,3:");
                switch (proc)
                {
                    case "a":
                        if (categoria == 1)
                        {
                            sb = 100;
                        }
                        else
                        {
                        }
                        break;
                    case "b":
                        if (categoria == 2)
                        {
                            sb = 200;
                        }
                        else
                        {
                        }
                        break;
                    case "c":
                        sb = 300;
                        break;

                }

                Console.WriteLine("El salario :");
                sal = (sb / 30) * nt;
                Console.WriteLine("El fondo de pensiones:");
                fp = sal * 0.03;
                Console.WriteLine("La eps: ");
                eps = sal * 0.05;
                Console.WriteLine("El subsidio de transporte:");

                if (categoria < 2)
                {
                    st = 50;
                }
                else
                {
                    st = 0;
                }
                Console.WriteLine("Los ingresos del empleado:");
                ingresos = sal + st;
                Console.WriteLine("Las deducciones son iguales a:");
                deducciones = fp + eps;
                Console.WriteLine("El sueldo es igual a:");
                sueldo = ingresos - deducciones;

                Console.ReadKey();

            }
        }
    }
}
:huh: