Это мой первый опыт использования 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
Может ли кто-нибудь помочь мне исправить мой код. Я застрял здесь почти час. Заранее спасибо
где вы проходя значение хранимой процедуры? – Siva
@Siva Я хочу передать его в свой кристальный отчет, чтобы на моей странице просмотра Crystal Crystal отображались только выбранные данные. Можете ли вы помочь мне сделать это? –
Я не очень разбираюсь в коде, но это может помочь вам ... так. Report.RecordSelectionFormula = "{@studID}" & "-" & dgv1.SelectedRows (0) .Cells (0) .Value – Siva