Код: Выделить всё
' Load Report -------------
Dim MyReport As StiReport = New StiReport()
MyReport.LoadFromString(SC.SCData.ExecuteScalar("SELECT ReportBin FROM Reports WHERE ReportID = 1"))
' Load Report ---------end-
' Add Database ------------
MyReport.Dictionary.Databases.Clear()
Dim MyReport_DB As New StiSqlDatabase("EazyQA_Aces", "EazyQA_Aces", MyConnectionString, False)
MyReport.Dictionary.Databases.Add(MyReport_DB)
' Add Database --------end-
' Add DataSource ----------
Dim MyDB_DS As DataSet = SC.SCData.FillDataSet("SELECT * FROM Users WHERE 1=2 SELECT * FROM V_QA_Tickets WHERE 1=2 SELECT * FROM V_QA_TicketsResolution WHERE 1=2", MyConnectionString)
MyDB_DS.DataSetName = "EazyQA_Aces"
MyDB_DS.Tables(0).TableName = "Users"
MyDB_DS.Tables(1).TableName = "Tickets"
MyDB_DS.Tables(2).TableName = "Tickets Resolution"
MyDB_DS.Relations.Add("Tickets Resolution", MyDB_DS.Tables(1).Columns("TicketID"), MyDB_DS.Tables(2).Columns("TicketID"))
MyReport.RegData(MyDB_DS)
' Add DataSource ------end-
StiWebDesigner1.Design(MyReport)
Я пробовал передать DataSet в обработчике события GetPreviewDataSet:
Код: Выделить всё
e.Report.Dictionary.Databases.Clear()
Dim MyReport_DB As New StiSqlDatabase("EazyQA_Aces", "EazyQA_Aces", MyConnectionString, False)
e.Report.Dictionary.Databases.Add(MyReport_DB)
Dim MyDB_DS As DataSet = SC.SCData.FillDataSet("SELECT * FROM Users SELECT * FROM V_QA_Tickets SELECT * FROM V_QA_TicketsResolution", MyConnectionString)
MyDB_DS.DataSetName = "EazyQA_Aces"
MyDB_DS.Tables(0).TableName = "Users"
MyDB_DS.Tables(1).TableName = "Tickets"
MyDB_DS.Tables(2).TableName = "Tickets Resolution"
MyDB_DS.Relations.Add("Tickets Resolution", MyDB_DS.Tables(1).Columns("TicketID"), MyDB_DS.Tables(2).Columns("TicketID"))
e.PreviewDataSet = MyDB_DS
Помогите, а? А то запарился я уже разбираться. Вроде простая задача - дизайнер, словарь, отчет, посмотреть че нагородил ... а в результате несколько ночей безрезультатной возни.