REPORTVIEWER COM FIREBIRD

WOOF 23/09/2013 16:57:02
#429177
Olá pessoal, fico feliz por participar deste fórum do VB Mania o qual tem sido para mim referência de estudos e tem me ajudado muito.

Bom minha dúvida seria a seguinte: quero imprimir dados de uma venda em uma folha A4. Estou utilizando o ReportViewer e como SGBD o Firebird. Na verdade, como o source do ReportViewer está sendo alimentado via programação, estou me enrolando na hora de exibir os dados da consulta. Vou postar o código aqui:

Citação:


Private Sub frmPrintVenda_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim empresa As New ReportParameter([Ô]empresa[Ô], empresaConfig)
Dim endereco As New ReportParameter([Ô]endereco[Ô], enderecoConfig)
Dim cnpj As New ReportParameter([Ô]cnpj[Ô], cnpjConfig)
Dim totalItens As New ReportParameter([Ô]totalItens[Ô], frmPdv.lstItens.Items.Count)

rvItensVenda.LocalReport.SetParameters(empresa)
rvItensVenda.LocalReport.SetParameters(endereco)
rvItensVenda.LocalReport.SetParameters(cnpj)
rvItensVenda.LocalReport.SetParameters(totalItens)

[ô] Criando DataSet para acesso
Dim sqlItens As String = [Ô]SELECT * FROM vendas_itens[Ô]
Dim ds As New DataSet
Dim dt As New DataTable
Dim da As New FbDataAdapter(sqlItens, conexao)
da.Fill(dt)
Dim tabelItens As ReportDataSource = New ReportDataSource([Ô]itens[Ô], dt)
rvItensVenda.LocalReport.DataSources.Add(tabelItens)

Me.rvItensVenda.RefreshReport()



O que acontece é que simplesmente não acontece. Ou seja, não é exibido nada no ReportViewer.
Bom, se faltar mais alguma informação, peçam que vou passar. Se alguém puder me ajudar serei grato!
RODOLFOREJYAHOO 31/07/2016 01:00:20
#465328
Citação:

:
Olá pessoal, fico feliz por participar deste fórum do VB Mania o qual tem sido para mim referência de estudos e tem me ajudado muito.

Bom minha dúvida seria a seguinte: quero imprimir dados de uma venda em uma folha A4. Estou utilizando o ReportViewer e como SGBD o Firebird. Na verdade, como o source do ReportViewer está sendo alimentado via programação, estou me enrolando na hora de exibir os dados da consulta. Vou postar o código aqui:


Private Sub frmPrintVenda_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim empresa As New ReportParameter([Ô]empresa[Ô], empresaConfig)
Dim endereco As New ReportParameter([Ô]endereco[Ô], enderecoConfig)
Dim cnpj As New ReportParameter([Ô]cnpj[Ô], cnpjConfig)
Dim totalItens As New ReportParameter([Ô]totalItens[Ô], frmPdv.lstItens.Items.Count)

rvItensVenda.LocalReport.SetParameters(empresa)
rvItensVenda.LocalReport.SetParameters(endereco)
rvItensVenda.LocalReport.SetParameters(cnpj)
rvItensVenda.LocalReport.SetParameters(totalItens)

[ô] Criando DataSet para acesso
Dim sqlItens As String = [Ô]SELECT * FROM vendas_itens[Ô]
Dim ds As New DataSet
Dim dt As New DataTable
Dim da As New FbDataAdapter(sqlItens, conexao)
da.Fill(dt)
Dim tabelItens As ReportDataSource = New ReportDataSource([Ô]itens[Ô], dt)
rvItensVenda.LocalReport.DataSources.Add(tabelItens)

Me.rvItensVenda.RefreshReport()


O que acontece é que simplesmente não acontece. Ou seja, não é exibido nada no ReportViewer.
Bom, se faltar mais alguma informação, peçam que vou passar. Se alguém puder me ajudar serei grato!


olá estou na msm situacao, vc conseguiu uma solucao?
ACCIOLLY 31/07/2016 09:36:23
#465329
Ola
Posso apresentar outra solução que gostei demais. Simplesmente utilizando o controle WebBrowser.

webBrowser1.DocumentText =
[Ô]<html><body>Please enter your name:<br/>[Ô] +
[Ô]<input type=[ô]text[ô] name=[ô]userName[ô]/><br/>[Ô] +
[Ô]<a href=[ô]http://www.microsoft.com[ô]>continue</a>[Ô] +
[Ô]</body></html>[Ô];


Com isso vocês podem gerar impressões profissionais, e com o estilo que quiser utilizando CSS inline.
ACCIOLLY 31/07/2016 09:52:30
#465330
Olha como faço em C#. Apenas criando uma classe com um método que tenha como parametro uma string SQL e retorne uma string com todo html e dados. O resultado é visto na imagem acima

using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ztm.Modulos;

namespace ztm.Report
{
class rep_Log
{
public string logs(string SQL)
{
string _return =
[Ô]<html>[Ô] +
[Ô]<header>[Ô]+
[Ô]<script type=[ô]text/javascript[ô]>[Ô]+
[Ô]window.onload=function(){[Ô]+
[Ô]var tfrow = document.getElementById([ô]tfhover[ô]).rows.length;[Ô]+
[Ô]var tbRow=[];[Ô]+
[Ô]for (var i=1;i<tfrow;i++) {[Ô]+
[Ô]tbRow[i]=document.getElementById([ô]tfhover[ô]).rows[i];[Ô]+
[Ô]tbRow[i].onmouseover = function(){[Ô]+
[Ô]this.style.backgroundColor = [ô]#cdcdcd[ô];[Ô] +
[Ô]};[Ô]+
[Ô]tbRow[i].onmouseout = function() {[Ô]+
[Ô]this.style.backgroundColor = [ô]#F8F8FF[ô];[Ô] +
[Ô]};[Ô]+
[Ô]}[Ô]+
[Ô]};[Ô]+
[Ô]</script>[Ô]+

[Ô]<style type=[ô]text/css[ô]>[Ô]+
[Ô]body{font-family: arial, verdana, sans-serif;}[Ô]+
[Ô]table.tftable {font-size:12px;color:#333333;width:100%;border-width: 1px;border-color: #a9a9a9;border-collapse: collapse;}[Ô]+
[Ô]table.tftable th {font-size:12px;background-color:#F8F8FF;border-width: 1px;padding: 8px;border-style: solid;border-color: #a9a9a9;text-align:left;}[Ô] +
[Ô]table.tftable tr {background-color:#F8F8FF;}[Ô] +
[Ô]table.tftable td {font-size:10px;border-width: 1px;padding: 8px;border-style: solid;border-color: #a9a9a9;}[Ô]+
[Ô]</style>[Ô]+


[Ô]</header>[Ô]+
[Ô]<body>[Ô] +
[Ô]<h2 align = [ô]center[ô]>Relatório de Logs</h2>[Ô] +
[Ô]<table width = [ô]90%[ô] align = [ô]center[ô] id = [ô]tfhover[ô] class = [ô]tftable[ô] border = [ô]1[ô]>[Ô] +
[Ô]<tr style = [ô]background: #696969; color: white;[ô]>[Ô] +
[Ô]<td width = [ô]30%[ô]><b>Usuário</b></td>[Ô] +
[Ô]<td width = [ô]10%[ô] align = [ô]center[ô]><b>Máquina</b></td>[Ô] +
[Ô]<td width = [ô]10%[ô] align = [ô]center[ô]><b>Data</b></td>[Ô] +
[Ô]<td width = [ô]10%[ô] align = [ô]center[ô]><b>Hora</b></td>[Ô] +
[Ô]<td width = [ô]20%[ô] align = [ô]center[ô]><b>Operação</b></td>[Ô] +
[Ô]<td width = [ô]10%[ô] align = [ô]center[ô]><b>Tabela</b></td>[Ô] +
[Ô]<td width = [ô]10%[ô] align = [ô]center[ô]><b>Registro</b></td>[Ô] +
[Ô]</tr>[Ô];

DataTable dados = Conexao.Pesquisar(SQL);

for (int i = 0; i < dados.Rows.Count; i++)
{
_return += [Ô]<tr>[Ô] +
[Ô]<td width = [ô]30%[ô]>[Ô]+dados.Rows[i][[Ô]tb_usuarios_usu_codigo[Ô]].ToString()+[Ô] - [Ô]+dados.Rows[i][[Ô]usu_nome[Ô]].ToString()+[Ô]</td>[Ô] +
[Ô]<td width = [ô]10%[ô]>[Ô] + dados.Rows[i][[Ô]log_mac[Ô]].ToString() + [Ô]</td>[Ô] +
[Ô]<td width = [ô]10%[ô]>[Ô] + Convert.ToDateTime(dados.Rows[i][[Ô]log_data[Ô]].ToString()).ToShortDateString() + [Ô]</td>[Ô] +
[Ô]<td width = [ô]10%[ô]>[Ô] + dados.Rows[i][[Ô]log_hora[Ô]].ToString() + [Ô]</td>[Ô] +
[Ô]<td width = [ô]20%[ô]>[Ô] + dados.Rows[i][[Ô]log_operacao[Ô]].ToString() + [Ô]</td>[Ô] +
[Ô]<td width = [ô]10%[ô]>[Ô] + dados.Rows[i][[Ô]log_tabela[Ô]].ToString() + [Ô]</td>[Ô] +
[Ô]<td width = [ô]10%[ô] align = [ô]center[ô]>[Ô] + dados.Rows[i][[Ô]log_registro[Ô]].ToString() + [Ô]</td>[Ô] +
[Ô]</tr>[Ô];
}


_return += [Ô]</table>[Ô]+

[Ô]</body>[Ô]+
[Ô]</html>[Ô];
return _return;
}
}
}
Faça seu login para responder