Código de Barras

<< Click to Display Table of Contents >>

Navigation:  Outros >

Código de Barras

Previous pageReturn to chapter overviewNext page

Tela

 

codbarra

 

Projeto

 

codbarra1

 

WebForm1.aspx

 

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication2.WebForm1" %>

 

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

    <link href="/css/impressao.css" rel="stylesheet" media="print" />

    <style>

        #corpo {

            width98%;

        }

 

            #corpo p {

                text-indent0px;

                margin0px;

                font-familyArial;

            }

 

        .celula {

            padding5px;

            floatleft;

            displaytable-cell;

            width116px;

            height82px;

            vertical-alignmiddle;

            text-aligncenter;

            border1px solid Gainsboro;

        }

 

        .imagem {

            width100%;

            height35px;

        }

 

        .texto {

            font-size11px;

        }

 

        .codigo {

            font-weightbold;

            padding-right5px;

        }

 

        .preco {

            font-weightbold;

            font-size14px;

        }

 

        .div-botao {

            margin-bottom10px;

        }

    </style>

</head>

<body>

    <form id="form1" runat="server">

        <div class="div-botao ocultar-impressao">

            <asp:Button ID="hlImprimir" runat="server" OnClientClick="window.print();" Text="Imprimir" CssClass="btn btn-success" />

        </div>

        <div id="corpo">

            <asp:ListView ID="lvEtiquetas" runat="server" ItemPlaceholderID="itemContainer" OnItemDataBound="lvEtiquetas_ItemDataBound">

                <LayoutTemplate>

                    <asp:PlaceHolder ID="itemContainer" runat="server" />

                </LayoutTemplate>

                <ItemTemplate>

                    <div class="celula">

                        <div class="imagem">

                            <asp:Image ID="imgCodigoBarro" runat="server" />

                        </div>

                        <p class="preco">

                            <asp:Label ID="lbPreco" runat="server"></asp:Label>

                        </p>

                        <p class="texto">

                            <span class="codigo">

                                <asp:Label ID="lbId" runat="server"></asp:Label></span><asp:Label ID="lbNome" runat="server"></asp:Label>

                        </p>

                    </div>

                </ItemTemplate>

                <EmptyDataTemplate>

                    Sem dados

                </EmptyDataTemplate>

            </asp:ListView>

        </div>

    </form>

</body>

</html>

 

WebForm1.cs

 

using System;

using Ean13Barcode2005;

using System.Web.UI.WebControls;

using System.Data;

using System.IO;

 

namespace WebApplication2

{

    public partial class WebForm1 : System.Web.UI.Page

    {

        private Ean13 ean13 = null;

 

        protected void Page_Load(object sender, EventArgs e)

        {

            if (!IsPostBack)

                CarregarDados();

        }

 

        private void CarregarDados()

        {

            lvEtiquetas.DataSource = Dados.GetDados();

            lvEtiquetas.DataBind();

 

            CriarCodigosDeBarras((DataTable)lvEtiquetas.DataSource);

        }

 

        private void CriarImagemBarras(string codigo, string nome)

        {

            System.Drawing.Bitmap bmp;

            ean13 = new Ean13();

            ean13.ProductCode = codigo;

            //ean13.ChecksumDigit = "0";

            ean13.Scale = (float)0.8;

 

            bmp = ean13.CreateBitmap();

            bmp.Save(nome);

        }

 

        private string GetBarraFileName(string barra)

        {

            return string.Format("~/tmp/{0}.bmp", barra);

        }

 

        private void CriarCodigosDeBarras(DataTable tb)

        {

            string fileName;

            foreach (DataRow linha in tb.Rows)

            {

                fileName = Server.MapPath(GetBarraFileName(linha["barra"].ToString()));

                if (!File.Exists(fileName))

                    CriarImagemBarras(linha["barra"].ToString(), fileName);

            }

        }

 

        protected void lvEtiquetas_ItemDataBound(object sender, System.Web.UI.WebControls.ListViewItemEventArgs e)

        {

            if (e.Item.ItemType == ListViewItemType.DataItem)

            {

                // pega o dataItem corrente

                ListViewDataItem currentItem = (ListViewDataItem)e.Item;

 

                // pegar os labels

                Image imgCodigoBarro = (Image)e.Item.FindControl("imgCodigoBarro");

                Label lbPreco = (Label)e.Item.FindControl("lbPreco");

                Label lbId = (Label)e.Item.FindControl("lbId");

                Label lbNome = (Label)e.Item.FindControl("lbNome");

 

                // transforma o DataItem do currentItem em um DataRowView

                DataRowView drv = (DataRowView)currentItem.DataItem;

 

                decimal valor = 0;

                Decimal.TryParse(drv["valor"].ToString(), out valor);

 

                lbId.Text = drv["id"].ToString();

                lbPreco.Text = "R$ " + valor.ToString("0.00#,##");

                lbNome.Text = drv["nome"].ToString();

                imgCodigoBarro.ImageUrl = GetBarraFileName(drv["barra"].ToString());

            }

        }

    }

}