Insert a dataset to Crystal Reports (Shows only the first row in dataset)

Posted on 2004-08-12
Last Modified: 2010-05-18

I want insert an array to crysstal reports, or a dataset.. but the array or dataset
i will "make mySelf".. not directly from a database.. how do i do that..

so how do i create the array or dataset and insert it to Crystal reports.
I want the same effect that a dataset has, that was created from a database
and then inserted to CR.

1. Get data from my database.
2. calculate the values i want to insert to CR from the dataset
3. Create a new dataset or an array.
4. Insert the new dataset or array to CR

i have this code for now.. the dataset seems to work... i have tested to pass the dataset
to a datagrid and it woks.. i have made an xsd file

my problem is that Crystal reports only shows the first row of my dataset..

this is the code i use for creating a datset

Private Function CreateCustomDataSet() As DataSet
        ' create a dataset object
        Dim oDataSet As DataSet
        oDataSet = New DataSet
        ' create a data table object
        Dim oDataTable As DataTable
        oDataTable = New DataTable("T2")
        ' we need a type object to specify the column
        ' data type
        Dim oType As Type
        Dim oDataColumn As DataColumn
        ' create a type object for required datatype
        oType = System.Type.GetType("System.String")
        ' create a new column in the table structure
        oDataColumn = New DataColumn("PersonKey", oType)
        ' add the column in the table object
        ' add one more column
        oType = System.Type.GetType("System.String")
        oDataColumn = New DataColumn("PersonName", oType)
        ' onemore column
        oType = System.Type.GetType("System.String")
        oDataColumn = New DataColumn("Address", oType)
        ' one more column
        oType = System.Type.GetType("System.Int16")
        oDataColumn = New DataColumn("Age", oType)
        ' now add the completly prepared table to the dataset
        ' now we are ready to fill the dataset with data
        Dim oDataRow As DataRow
        ' get a new datarow from the table object
        ' the dataset knows what fields to create as we are asking
        ' the exact table about that row
        oDataRow = oDataSet.Tables("T2").NewRow
        ' fill required data
        With oDataRow
            .Item("PersonKey") = "AB12"
            .Item("PersonName") = "Ramesh"
            .Item("Address") = "Delhi"
            .Item("Age") = 34
            ' now add the row in the datatable
        End With
        ' can add as many rows as you can
        oDataRow = oDataSet.Tables("T2").NewRow
        With oDataRow
            .Item("PersonKey") = "AB13"
            .Item("PersonName") = "Seema"
            .Item("Address") = "Bareli"
            .Item("Age") = 25
        End With
        ' now we can use this dataset anywhere a DataSet is expected
        Return oDataSet
    End Function

this code for inserting the data into CR

 Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim Ds As DataSet
        Ds = New DataSet
        Ds = CreateCustomDataSet()

        Dim rpt As New cr
        CrystalReportViewer1.ReportSource = rpt
        DataGrid1.DataSource = Ds.Tables(0)

    End Sub

But only the first row will show in CR..

i have design the report as i want  by dragging and dropping these fields. i got from xsd, but when i drop the filed
in CR on the filed will show.. not the name in the section above.. i don't know if that has anyting with my problem.
but someting is from..

here is the xml code for the xsd file..

<?xml version="1.0" encoding="utf-8" ?>
<xs:schema id="Dataset1" targetNamespace="" elementFormDefault="qualified"
      attributeFormDefault="qualified" xmlns="" xmlns:mstns=""
      xmlns:xs="" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
      <xs:element name="Dataset1" msdata:IsDataSet="true">
                  <xs:choice maxOccurs="unbounded">
                        <xs:element name="T2">
            <xs:element name="PersonKey" msdata:AutoIncrement="true" type="xs:string" minOccurs="0" />
                  <xs:element name="PersonName" type="xs:string" minOccurs="0" />
                  <xs:element name="Address" type="xs:string" minOccurs="0" />
                        <xs:element name="Age" type="xs:integer" minOccurs="0" />
            <xs:key name="Dataset1Key1" msdata:PrimaryKey="true">
                  <xs:selector xpath=".//mstns:T2" />
                  <xs:field xpath="mstns:PersonKey" />
Question by:NissePPP
  • 4
  • 2

Expert Comment

ID: 11784900
Why don't you send just the datatable?


Author Comment

ID: 11787979
hmm but don't i need to send the dataset.. becuse i use xsd files for CR

Author Comment

ID: 11889874
hmm i solved the problem.. i need to use "Expert wizard" when creating a report.. not use a bland report as i did before..

then i will work...

 hmm i want my ponits back :).

. how do i do that.. :)
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.


Author Comment

ID: 11890654
post something.. so i can give you the points

Accepted Solution

Daniellus83 earned 200 total points
ID: 11890666

Author Comment

ID: 11890676
fixed.. :)

thx m8.. very nice work... ;)

Expert Comment

ID: 11890691
np love doing this sh*t

Featured Post

Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Advice on Xojo as a development tool over VB. 4 55
write xml in 2 24
Footer for each row on Gridview 2 21 class 3 14
Introduction When many people think of the WebBrowser ( control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
1.0 - Introduction Converting Visual Basic 6.0 (VB6) to Visual Basic 2008+ (VB.NET). If ever there was a subject full of murkiness and bad decisions, it is this one!   The first problem seems to be that people considering this task of converting…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

773 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question