Exemplo n.º 1
0
        private void Recargar(int rowIndex = 0)
        {
            // Instanciamos la clase CProductosBD.
            CProductosBD productosBD = new CProductosBD();

            // Recargamos el DataGridView asociando el DataSource con los datos devueltos.
            dataGridView.DataSource = productosBD.Seleccionar();

            // Si tenemos datos...
            if (dataGridView.RowCount > 0)
            {
                // Comprobamos que la fila que nos indican no es superior a la cantidad de filas que tenemos.
                // Si es así, nos posicionamos en la última fila.
                if (rowIndex >= dataGridView.RowCount)
                {
                    rowIndex = dataGridView.RowCount - 1;
                }

                // Si nos indican una fila negativa, nos posicionamos en la primera.
                // Si nos indican una fila negativa, nos posicionamos en la primera.
                if (rowIndex < 0)
                {
                    rowIndex = 0;
                }

                // Nos posicionamos en la fila indicada.
                dataGridView.CurrentCell = dataGridView[1, rowIndex];
            }
        }
Exemplo n.º 2
0
        private void FProductosModificar_Load(object sender, EventArgs e)
        {
            // Instanciamos las clases CCategoriasBD y CMarcasBD.
            CCategoriasBD categoriasBD = new CCategoriasBD();
            CMarcasBD     marcasBD     = new CMarcasBD();

            // Obtenemos todos los registros de la tabla.
            cbCategorias.DataSource = categoriasBD.Seleccionar();

            // Mostramos el valor del campo categoría.
            cbCategorias.DisplayMember = "categoria";

            // Indicamos que le valor seleccionado es la clave primaria.
            cbCategorias.ValueMember = "categoria_id";

            // Para las marcas hacemos lo mismo que para las categorías.
            cbMarcas.DataSource    = marcasBD.Seleccionar();
            cbMarcas.DisplayMember = "marca";
            cbMarcas.ValueMember   = "marca_id";

            // Si me indican un producto en concreto, es que queremos modificarlo.
            if (Producto_id != 0)
            {
                // Instanciamos la clase CProductosBD.
                CProductosBD productosBD = new CProductosBD();

                // Buscamos el producto.
                productosBD.Seleccionar(Producto_id);

                // Mostramos la clave primaria.
                txtId.Text = Convert.ToString(productosBD.Producto_id);

                // El código del producto.
                txtCodigo.Value = productosBD.Codigo;

                // El nombre del producto.
                txtProducto.Text = productosBD.Producto;

                // Buscamos en el ComboBox el índide de la categoría seleccionada.
                cbCategorias.SelectedIndex = cbCategorias.FindStringExact(productosBD.Categoria);
                // cbCategorias.SelectedValue = productosBD.Categoria_id;

                // Otra forma de asignar el índice.
                // cbMarcas.SelectedIndex = cbMarcas.FindStringExact(productosBD.Marca);
                cbMarcas.SelectedValue = productosBD.Marca_id;

                // Y finalmente, el precio.
                txtPrecio.Value = Convert.ToDecimal(productosBD.Precio);

                // Indicamos que estamos modificando.
                Text = "Productos :: Modificar";
            }
        }
Exemplo n.º 3
0
        private const float milimetro = 2.83465f; // 1 milímetro son 2.83465 puntos de pantalla.

        public void Imprimir()
        {
            Document document = new Document();                // Documento PDF.

            document.SetPageSize(iTextSharp.text.PageSize.A4); // Tamaño de la hoja A4.
            document.SetMargins(10f * milimetro,               // Margen derecho 10 mm ó 1 cm.
                                10f * milimetro,               // Margen izquierdo 10 mm ó 1 cm.
                                30f * milimetro,               // Margen superior 30 mm ó 3 cm.
                                10f * milimetro);              // Margen inferior 10 mm ó cm.

            try
            {
                // Guardaremos el contenido en un fichero "test.pdf"
                PdfWriter pdfWriter = PdfWriter.GetInstance(document, new FileStream("test.pdf", FileMode.Create));

                pdfWriter.PageEvent = new HeaderFooter();  // Indicamos nuestro pie de página personalizado.
            }
            catch (Exception ex)
            {
                // En caso de nos poder guardar en "test.pdf" lanzamos excepción.
                throw new Exception("Al guardar el fichero \"test.pdf\".\n\n" + ex.Message);
            }

            document.Open(); // Abrimos el documentos.

            try
            {
                CProductosBD productos = new CProductosBD();            // Creamos el objeto productos.

                DataRow[] rows = productos.Seleccionar().Select();      // Seleccionamos todos los productos.

                PdfPTable tProductos    = new PdfPTable(5);             // Tabla para mostrar los productos.
                PdfPCell  celdaCabecera = new PdfPCell();               // Celda para la cabecera.
                PdfPCell  celdaDerecha  = new PdfPCell();               // Celda para alineación derecha.

                tProductos.WidthPercentage = 100f;                      // La tabla tendrá una anchura del 100%

                celdaDerecha.HorizontalAlignment = Element.ALIGN_RIGHT; // La celda derecha pues eso a la derecha.
                celdaDerecha.FixedHeight         = 7f * milimetro;

                celdaCabecera.HorizontalAlignment = Element.ALIGN_CENTER;           // Las celdas de la cabecera se alinean al centro,
                celdaCabecera.BackgroundColor     = new BaseColor(Color.LightGray); // con el fondo en gris claro
                celdaCabecera.FixedHeight         = 7f * milimetro;                 // y una altura de celda de 7 mm.

                celdaCabecera.Phrase = new Phrase("Código");                        // Título de la celda código.
                tProductos.AddCell(celdaCabecera);                                  // Añadimos la celda.

                celdaCabecera.Phrase = new Phrase("Producto");
                tProductos.AddCell(celdaCabecera);

                celdaCabecera.Phrase = new Phrase("Categoría");
                tProductos.AddCell(celdaCabecera);

                celdaCabecera.Phrase = new Phrase("Marca");
                tProductos.AddCell(celdaCabecera);

                celdaCabecera.Phrase = new Phrase("Precio");
                tProductos.AddCell(celdaCabecera);

                tProductos.HeaderRows = 1; // La primera fila, la cabecera, se repetirá en cada nueva página.

                // Para cada una de las filas de nuestra consulta...
                for (int i = 0; i < rows.Count(); i++)
                {
                    celdaDerecha.Phrase = new Phrase(rows[i]["Código"].ToString());        // Código.
                    tProductos.AddCell(celdaDerecha);                                      // Observar que no lo insertamos directamente porque lo queremos alinear a la derecha.

                    tProductos.AddCell(rows[i]["Producto"].ToString());                    // Producto.
                    tProductos.AddCell(rows[i]["Categoría"].ToString());                   // Categoría.
                    tProductos.AddCell(rows[i]["Marca"].ToString());                       // Marca.

                    celdaDerecha.Phrase = new Phrase(rows[i]["Precio"].ToString() + " €"); // Precio.
                    tProductos.AddCell(celdaDerecha);
                }

                document.Add(tProductos);  // Añadimos la tabla al documento.
            }
            catch (Exception ex)
            {
                // En caso de error lanzamos la excepción con el error que se ha producido.
                throw new System.Exception("Al generar el archivo \"test.pdf\".\n\n" + ex.Message);
            }
            finally
            {
                document.Close(); // y lo cerramos.
            }
        }