Publicidade

  • 0
s_bruno

Gerando relatorio com ReportViewer

Pergunta

Como é possivel gerar um relatorio de um objeto e suas dependencias em Report Viewer com C#? tenho uma classe Carro, onde cada Carro tem seus Modelos. Consigo exibir um relatorio com os Carros e os Modelos separados, mas como faço para ficarem

Modelo1
  Carro1
  Carro2
Modelo2
  Carro1
  Carro2
Modelo3
  Carro1

Como faço essa ligação para vincular os carros pertencentes ao modelo? sabendo que na classe Carro eu tenho um atributo que contém o código do modelo.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

1 resposta a esta questão

  • 0

Você pode passar pro reportview um objeto pronto que ja contenha os dados relacionados. Ou criar uma classe que contenha a estrutura exata que precisa ou pode popular um dataset e passar esse dataset.

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora

  • Próximos Eventos

  • Conteúdo Similar

    • Por Blacksnake
      Olá,
       
      Sou novo na linguagem c# e estou a estudar o novo ef core.
       
      Quando comecei instalei o ef core 1.0.1 agora fiz update para 2.0.0 bem como do vs2015 para o vs2017 comunity.
      Após este update surge-me o seguinte erro:
      System.IO.FileNotFoundException: 'Não foi possível carregar o ficheiro ou assemblagem 'MySqlConnector, Version=0.25.1.0, Culture=neutral, PublicKeyToken=null' ou uma das respectivas dependências. O sistema não conseguiu localizar o ficheiro especificado.'
       
      O meu código é:
      using ERP.Models;
      using ERP.Models.Options;
      using Microsoft.EntityFrameworkCore.Diagnostics;
      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.ComponentModel.DataAnnotations;
      using System.ComponentModel.DataAnnotations.Schema;
      using Microsoft.EntityFrameworkCore;
       
      namespace ERP.Datasource
      {
          public class Mycontext: DbContext
          {
              protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
                  => optionsBuilder
                      .UseMySql(@"Server=localhost;database=ef;uid=root;pwd=******;")
                      .ConfigureWarnings(warnings => warnings.Throw(RelationalEventId.QueryClientEvaluationWarning));
       
       
              public DbSet<User> User { get; set; }
              public DbSet<Entity> Entities { get; set; }
              public DbSet<Infoapp> Infoapp { get; set; }
              public DbSet<CountryCoin> CountryCoin { get; set; }
       
          }
      }
    • Por gilmar.silva
      boa tarde, por favor, 
          
          Poderiam me auxiliar ?
       
          Já utilizo o mesmo algoritimo para envio da nota fiscal eletrônica dos estados e para as notas fiscais eletrônicas municipais, porém
          ao enviar para EFD-REINF ocorre o erro : O servidor remoto retornou um erro: (400) Solicitação Incorreta.
       
          1. Já esta liberada a chamada sem solicitação do proxy;
          2. Meu IP já esta liberado para qualquer conexão com a internet;
          3. Já fiz a instação da cadeia de certificados do link https://certificados.serpro.gov.br/serproacf/certificate-chain e meu certificado é válido;
       
                      var url = "https://preprodefdreinf.receita.fazenda.gov.br/RecepcaoLoteReinf.svc?WSDL";
                      Uri uri = new Uri(url);                
                      WebRequest webRequest = WebRequest.Create(url);
                      HttpWebRequest httpWR = (HttpWebRequest)webRequest;
                      httpWR.ClientCertificates.Add(certificado);
                      httpWR.Method = "POST";
                      httpWR.ProtocolVersion = HttpVersion.Version11;
                      httpWR.Credentials = CredentialCache.DefaultCredentials;
                      httpWR.Proxy = WebRequest.DefaultWebProxy;
                      httpWR.ContentType = "text/xml; charset=utf-8";
                      Stream reqStream = httpWR.GetRequestStream();
                      StreamWriter streamWriter = new StreamWriter(reqStream);
                      streamWriter.Write(xmlSoapEnvelopado);
                      streamWriter.Close();
                      ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Ssl3;
                      WebResponse webResponse = httpWR.GetResponse();
                      Stream respStream = webResponse.GetResponseStream();
                      StreamReader streamReader = new StreamReader(respStream);
                      XMLRetorno = streamReader.ReadToEnd();        
      grato.
    • Por Marceloj
      Bom dia.
      Estou desenvolvendo uma aplicação ASP.NET MVC utilizando o migrations para criação das tabelas e relacionamentos.
      Porém cheguei numa etapa do projeto que preciso lê uma informação que está em em tabela em outra base de dados, ou seja, não está na mesma base que estou trabalhando.
       
      Pensei em fazer isso criando uma view e chamando ela no meu projeto, porém não sei como fazer isso pelo migrations.
       
      Esta seria a melhor opção mesmo, ou existe outra forma de resolver?
       
      Se puderem colocar um exemplo de como fazer, agradeço.
       
      Obrigado.
    • Por DenilsonCarlos
      Tenho  lista que vem do banco de dados, uma de técnico e outra de fornecedores. Não estou conseguindo pegar da View e passar para o Controller. E como receber esta lista na controller
       
       
      Segue o codigo:
      Controller passar a lista para a view como ViewBag
       
      var listaTecnicos = new BLL.Tecnico.TecnicoListar().ListarTecnicosProduto(); ViewBag.listaTecnicos = listaTecnicos; View Técnico           HTML
       
      <table width="100%" class="table table-striped"> <thead> <tr> <th>Cód.</th> <th>Técnico</th> <th>Quantidade</th> <th>Observação</th> </tr> </thead> <tbody> @{ var cont = 0; for (int i = 0; i < ViewBag.listaTecnicos.Count; i++) { <tr class=".itemTecnico"> <td class="idTecnico">@ViewBag.listaTecnicos[i].ID_Tecnico</td> <td>@ViewBag.listaTecnicos[i].Nome</td> <td width="100px">@Html.TextBoxFor(model => model.QtdProdutoTecnico, new { id = "qtdProduto_" + cont, @class = "money2 form-control somarProdutoTecnico", maxlength = "5", @placeholder = "00,00" })</td> <td>@Html.TextBoxFor(model => model.ObsProdutoTecnico, new { @class = "form-control" })</td> </tr> cont++; } } </tbody> </table>  
       
      javaScript   JQuery
       
       $('#btnSalvarTecnicos').click(function () {
          var arrayTecnicos = $('.itemTecnico');
          var idDoTecnico = new Array();
          var qtdDoTecnico = new Array();
          var obsDoTecncio = new Array();
          var todos_tecnicos = new Array();
          function pegarosTecnicos() {
              for (var i = 0; i < arrayTecnicos.length; i++) {
                  todos_tecnicos = {
                      idDoTecnico : $('.idTecnico').val(),
                      qtdDoTecnico : $('.somarProdutoTecnico').val(),
                      obsDoTecncio : $('.ObsTecnico').val()
                  };
              };

          };

          $.ajax({
              url: '@Url.Action("SalvarTecnicos")', // to get the right path to controller from TableRoutes of Asp.Net MVC
              dataType: "json", //to work with json format
              type: "POST", //to do a post request
              contentType: 'application/json; charset=utf-8', //define a contentType of your request
              cache: false, //avoid caching results
              data: JSON.stringify(todos_tecnicos), // passar os parametros
              success: function (data) {

              },
              error: function (xhr) {
                  alert("Erro! ao Salvar os com os tecnicos, Favor Entrar em Contato com O Suporte.");
              }

          });
       
      });
       
       
       
       
    • Por rafaelsouzab
      Boa noite,
       
      Gostaria de tirar uma duvida, detalhe, estou trabalhando com c# e windows form.
      tenho um list box que é atualizado através de um timer a cada segundo com informações que são inseridas no banco de dados, vamos supor que um usuário no sistema esta logado, logo quando ele inserir os dados na tabela atualize no listbox do outro usuário, estou fazendo isso por um timer, porem percebi que não é a melhor forma para obter performance na aplicação pois o timer ficara executando a todo momento e isso pode prejudicar a aplicação caso um dia essa tabela venha a ter muitos dados, o que eu gostaria de saber e se tem alguma outra forma mais eficiente e mais fácil de se atualizar automaticamente os dados dessa listbox para o usuário, mesmo que utilize um timer mas que esse timer funcione de forma eficiente.