0

Это мой первый опыт использования Crystal Reports. У меня есть процедура хранения и то, что я пытаюсь сделать, - это когда я выделяю строку в datagridview и нажимаю кнопку отчета, что только выделенная строка отправляется на страницу просмотра отчетов. Я пробовал некоторые решения здесь, но не повезло.Как отобразить выбранные строки в отчете datagridview для кристалла

Сообщить код кнопки

Imports System.Data.SqlClient 
Imports System.IO 
Imports CrystalDecisions.CrystalReports.Engine 

Public Class frmView 
    Dim cn As New SqlConnection("Data Source=.;Initial Catalog=DBSAS;Integrated Security=True") 
    Dim cmd As New SqlCommand 
    Dim da As New SqlDataAdapter 
    Dim dt As New DataTable 
    Dim i As Integer 
    Dim a As New OpenFileDialog 

    Private Sub btnRep_Click(sender As Object, e As EventArgs) Handles btnRep.Click 
      cn.Open() 
     Dim report As New ReportDocument 
     da.SelectCommand = New SqlCommand("EXEC usplatestDateEnrolled ", cn) 
     report.RecordSelectionFormula = "{@studID}" & dgv1.SelectedRows(0).Cells(0).Value 
     report.Load("C:\users\agent_edx44\My Documents\Visual studio 2012\projects\SASApp\Rep.rpt") 
     frmReport.CrystalReportViewer1.ReportSource = report 
     frmReport.CrystalReportViewer1.Refresh() 
     frmReport.Show() 
      cn.Close() 
    End Sub 

End Class 

Процедура Магазин код

USE [DbSAS] 
GO 
/****** Object: StoredProcedure [dbo].[uspLatestDateEnrolled] Script Date: 02/07/2016 12:35:26 ******/ 
SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 
-- ============================================= 
-- Author:  <Author,,Name> 
-- Create date: <Create Date,,> 
-- Description: <Description,,> 
-- ============================================= 
ALTER PROCEDURE [dbo].[uspLatestDateEnrolled] 
    -- Add the parameters for the stored procedure here 

@studID INT = NULL 


AS 
BEGIN 

    SET NOCOUNT ON; 
SELECT sh.SchoolYear, 
     sh.Levels,sh.Section, sh.DateEnrolled , 
     SI.StudentID,SI.Surname,SI.FirstName,SI.MiddleName, SI.StudAddress , 
     SI.BirthDay,SI.Gender, SI.Nationality, SI.BirthPlace, 
     SI.TelNum,SI.SchoolWhereGraduated , 
     SI.DatesWhenGraduated, SI.SchoolLastAttended, 
     SI.SchoolAddress, SI.Note,SI.StudImage, 
     PI.Father_FirstName,PI.Father_LastName, 
     PI.Father_MI,PI.Father_Occupation, 
     PI.Father_TelNUm, PI.Mother_FirstName, PI.Mother_LastName, 
     PI.Mother_MI,PI.Mother_Occupation,PI.Mother_TelNum, 
     PI.Contact_FirstName,PI.Contact_LastName,PI.Contact_MI, 
     PI.Contact_Mobile,PI.Contact_TelNum,PI.Contact_Address 
     FROM StudentInformation SI 
     JOIN StudentHistory SH 
      ON SI.StudentID = SH.StudentID 
     JOIN ParentInformation PI 
     ON PI.ParentID = SI.ParentID 
     WHERE si.StudentID = @studID 
     ORDER BY DateEnrolled DESC 

      SELECT * FROM StudentHistory WHERE StudentID = @studID 
       ORDER BY DateEnrolled DESC 
      SELECT TOP 1 SchoolYear, 
       Levels,Section, DateEnrolled as LatestDate 
       FROM StudentHistory 
       WHERE studentID = @studID 
       ORDER BY DateEnrolled DESC 

Когда я запускаю этот код он говорит, что

Неверный путь к файлу отчета в этой строке

report.RecordSelectionFormula = "{@studID}" & dgv1.SelectedRows(0).Cells(0).Value 

Может ли кто-нибудь помочь мне исправить мой код. Я застрял здесь почти час. Заранее спасибо

+0

где вы проходя значение хранимой процедуры? – Siva

+0

@Siva Я хочу передать его в свой кристальный отчет, чтобы на моей странице просмотра Crystal Crystal отображались только выбранные данные. Можете ли вы помочь мне сделать это? –

+0

Я не очень разбираюсь в коде, но это может помочь вам ... так. Report.RecordSelectionFormula = "{@studID}" & "-" & dgv1.SelectedRows (0) .Cells (0) .Value – Siva

ответ

0

Попробуйте добавить .ToString на конце этой линии:

report.RecordSelectionFormula = "{@studID}" & dgv1.SelectedRows(0).Cells(0).Value 
Смежные вопросы