2016-09-07 10 views
0

У меня есть этот код ниже для создания отчета. Моя проблема в том, почему одно из содержимого моей таблицы данных не может найти мой код? Таблица ds.dt_ProposedSeminars - это таблица.Почему мой код не может найти таблицу данных?

public JsonResult ReportProposal(int year) 
{ 
    string Userkey = "gHeOai6bFzWskyUxX2ivq4+pJ7ALwbzwF55dZvy/23BrHAfvDVj7mg "; 
    string PassKey = "lLAHwegN8zdS7mIZyZZj+EmzlkUXkvEYxLvgAYjuBVtU8sw6wKXy2g "; 

    JsonResult result = new JsonResult(); 
    MemoryStream oStream; 

    PCSO_ProposedSeminars rpt = new PCSO_ProposedSeminars(); 
    dsPCSO_TrainingProgram ds = new dsPCSO_TrainingProgram(); 

    //----------------------------------------------------- 
    var seminars = db.Certificates 
      .Where(x => x.Year.Value.Year == year && !x.IsApproved.HasValue) 
      .Select(z => z).Distinct(); 

    foreach (var train in seminars) 
    { 
      string trainingProgram = train.CertificateName; 
      string resourcePerson = train.ResourceSpeaker; 
      string target = ""; 

      var classifications = db.CertificateTrainingClassifications.Where(a => a.CertificateId == train.CertificateId).Select(b=>b.TrainingClassification.Classification); 

      int x = 1; 

      foreach (var classification in classifications) 
      { 
       if (classifications.Count() > 1) 
       { 
        if (x == 1) target += classification; 
        else target += ", " + classification; 
       } 
       else target += classification; 

       x++; 
      } 

      if (train.TargetParticipants.HasValue) 
      { 
       target += "/" + train.TargetParticipants.Value + ((train.TargetParticipants != null) ? " pax" : ""); 
      } 

      if (train.IsPerBatch.Value) 
      { 
       target += "/batch"; 
      } 

      string duration = train.Duration.Value + " days"; 
      decimal estimatedExpenses = new decimal(); 
      estimatedExpenses = train.EstimatedExpenses.Value; 

      ds.dt_ProposedSeminars.Adddt_ProposedSeminarsRow(
        trainingProgram, 
        resourcePerson, 
        target, 
        duration, 
        estimatedExpenses); 
     } 

     DataTable dtable = new DataTable(); 
     dtable = ds.dt_ProposedSeminars; 

     rpt.SetDataSource(dtable); 
     rpt.Refresh(); 
     rpt.SetParameterValue(0, year); 
     rpt.SetParameterValue(1, ""); 
     rpt.SetParameterValue(2, "Head, Training Unit, Admin Department"); 

     oStream = (MemoryStream)rpt.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); 

     string filename = Convert.ToString((DateTime.Now.Month) + Convert.ToString(DateTime.Now.Day) + Convert.ToString(DateTime.Now.Year) + Convert.ToString(DateTime.Now.Hour) + Convert.ToString(DateTime.Now.Minute) + Convert.ToString(DateTime.Now.Second) + Convert.ToString(DateTime.Now.Millisecond)) + "RequestApplication"; 
     var len = oStream.Length; 

     FileTransferServiceClient client2 = new FileTransferServiceClient(); 
     RemoteFileInfo rmi = new RemoteFileInfo(); 
     DateTime dt = DateTime.Now; 

     DownloadRequest dr = new DownloadRequest(); 
     string fId = client2.UploadFileGetId("", filename, len, PassKey, Userkey, oStream); 
     result.Data = new 
     { 
      fileId = fId, 
      filename = filename 
     }; 
     rpt.Close(); 
     rpt.Dispose(); 

     oStream.Close(); 
     oStream.Dispose(); 

     result.JsonRequestBehavior = JsonRequestBehavior.AllowGet; 
     return result; 
    } 

Вот скриншот:

Здесь ошибка.

«PIMS_Reports.TrainingProgram.dsPCSO_TrainingProgram» не содержит определение для «dt_ProposedSeminars» и не метод расширения «dt_ProposedSeminars» принимающую первый arguement типа

«PIMS_Reports.TrainingProgram.dsPCSO_TrainingProgram» не может быть найден (вы не нашли с помощью ссылки директивы ассемблера?)

+0

Обычно лучше, если вы просто скопируете/вставьте ошибку в свой вопрос, вместо того, чтобы снимать снимок экрана. –

+0

@GrantWinney Хорошо. Я отредактирую его .. извините за поздний ответ. –

+0

Спасибо всем, что нашел проблему. И теперь у меня возникла новая проблема: D –

ответ

-1

сообщение об ошибке указывает, что ваш dsPCSO_Tra Класс iningProgram не содержит метода или свойства с именем dt_PropsedSeminars.

Как выглядит этот класс?

+0

@J Omundson посмотреть на картинку. –

+0

Я просмотрел сообщение об ошибке. В вашем примере вы создаете новый класс dsPCSO_TrainingProgram. 'dsPCSO_TrainingProgram ds = new dsPCSO_TrainingProgram();' Этот класс не может найти свойство или метод с именем dt_ProposedSeminars. Таким образом, либо у вас нет класса, на который он ссылается в верхней части текущего контроллера, либо что-то не так с самим классом, поэтому я попросил посмотреть класс dsPCSO_TrainingProgram. –

+0

dt_ProposedSeminars следует видеть после обновления моего отчета dll. Я не знаю, что происходит с моим проектом. –

 Смежные вопросы

  • Нет связанных вопросов^_^