<< Click to Display Table of Contents >> Código de Barras |
![]() ![]() ![]() |
Tela
Projeto
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 {
width: 98%;
}
#corpo p {
text-indent: 0px;
margin: 0px;
font-family: Arial;
}
.celula {
padding: 5px;
float: left;
display: table-cell;
width: 116px;
height: 82px;
vertical-align: middle;
text-align: center;
border: 1px solid Gainsboro;
}
.imagem {
width: 100%;
height: 35px;
}
.texto {
font-size: 11px;
}
.codigo {
font-weight: bold;
padding-right: 5px;
}
.preco {
font-weight: bold;
font-size: 14px;
}
.div-botao {
margin-bottom: 10px;
}
</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());
}
}
}
}