Page 1 of 1

Viewing relations

Posted: Tue Aug 06, 2013 8:47 am
by DHarvey
Hi,

I am having an issue displaying relations in my dictionary under my data source.

When I use the example projects for variables I can view all relations without issue using the same xml layout I use in my application.
However when I load it into my application they do not seem to appear.

Generally from what I understand all you need to do is:

Code: Select all

     
foreach (StiDataRelation relation in relations)
{
    Dictionary.Clear();
    Dictionary.Relations.Add(relation);
    Dictionary.RegRelation(relation);
    Dictionary.Synchronize();
    Dictionary.SynchronizeBusinessObjects();
}
Now if I look at XML being loaded into designer:

Code: Select all

<StiSerializer version="1.02" type="Net" application="StiReport">
  <CacheAllData>True</CacheAllData>
  <Dictionary Ref="1" type="Dictionary" isKey="true">
    <BusinessObjects isList="true" count="0" />
    <Databases isList="true" count="1">
      <DB Ref="2" type="Stimulsoft.Report.Dictionary.StiSqlDatabase" isKey="true">
        <Alias>DB</Alias>
        <ConnectionStringEncrypted>/ConnectionStringEncrypted>
        <Name>DB</Name>
      </DB>
    </Databases>
    <DataSources isList="true" count="2">
      <Qualifications Ref="3" type="Stimulsoft.Report.Dictionary.StiSqlSource" isKey="true">
        <Alias>Fields</Alias>
        <Columns isList="true" count="8">
          <value>FIRSTNAME,System.String</value>
          <value>BRIGADE_NO,System.String</value>
          <value>SURNAME,System.String</value>
          <value>NAME,System.String</value>
          <value>DATE_OBTAINED,System.DateTime</value>
          <value>DATE_EXPIRES,System.DateTime</value>
          <value>ID,System.Int32</value>
          <value>MONTHS_REMAINING,System.Int32</value>
        </Columns>
        <CommandTimeout>30</CommandTimeout>
        <Dictionary isRef="1" />
        <Name>Qualifications</Name>
        <NameInSource>FireWatch_DB</NameInSource>
        <Parameters isList="true" count="1">
          <value>Date1,Today,31,0</value>
        </Parameters>
        <SqlCommand></SqlCommand>
      </Qualifications>
      <Fields Ref="4" type="DataTableSource" isKey="true">
        <Alias>Fields</Alias>
        <Columns isList="true" count="42">
          <value>ADDRESS,System.String</value>
          <value>AGE,System.Int32</value>
          <value>AREA,System.String</value>
          <value>NAMEBRIGD,System.String</value>
          <value>BRIGADE_NO,Brigade_x0020_Number,System.String</value>
          <value>CANDIDATE_NUM,System.String</value>
          <value>CONTRACT,System.String</value>
          <value>COUNTRY,System.String</value>
          <value>DATE_OBTAINED,Date_x0020_Obtained,System.DateTime</value>
          <value>DOB,System.DateTime</value>
          <value>DEPARTMENT,System.String</value>
          <value>DISTRICT,System.String</value>
          <value>ETHNIC,System.String</value>
          <value>DATE_EXPIRES,Expiry_x0020_Date,System.DateTime</value>
          <value>FLEXIBLE,System.String</value>
          <value>FULLNAME,Full_x0020_Name,System.String</value>
          <value>GENDER,System.String</value>
          <value>NAME,System.String</value>
          <value>NAMEADDR,System.String</value>
          <value>POSTCODE,System.String</value>
          <value>POST_NUMBER,System.String</value>
          <value>QUAL_NAME,Qualification_x0020_Name,System.String</value>
          <value>QUAL_TYPE,System.String</value>
          <value>RANK_SUBDESC,System.String</value>
          <value>RANK_GRADE,System.String</value>
          <value>REG_DISABLED,System.String</value>
          <value>REGION,System.String</value>
          <value>REPORT_GROUP,System.String</value>
          <value>RETIRE_DATE,System.DateTime</value>
          <value>ROLE,System.String</value>
          <value>ROTA_DESCRIPTION,System.String</value>
          <value>ROTA_TYPE,System.String</value>
          <value>STATION,System.String</value>
          <value>STATUS,System.String</value>
          <value>SUBSTANTIVE,System.String</value>
          <value>SUBSTANTIVE_DEPARTMENT,System.String</value>
          <value>SUBSTANTIVE_STATION,System.String</value>
          <value>TEMPSTATUS,System.String</value>
          <value>TEMPORARY_DEPARTMENT,System.String</value>
          <value>TEMPORARY_STATION,System.String</value>
          <value>TOWN,System.String</value>
          <value>WATCH,System.String</value>
        </Columns>
        <Dictionary isRef="1" />
        <Name>Fields</Name>
        <NameInSource>Fields</NameInSource>
      </Fields>
    </DataSources>
    <Relations isList="true" count="1">
      <CurrentQual Ref="5" type="DataRelation" isKey="true">
        <Alias>CurrentQual</Alias>
        <ChildColumns isList="true" count="2">
          <value>BRIGADE_NO</value>
          <value>DATE_EXPIRES</value>
        </ChildColumns>
        <Dictionary isRef="1" />
        <Name>CurrentQual</Name>
        <NameInSource>Relation</NameInSource>
        <ParentColumns isList="true" count="2">
          <value>BRIGADE_NO</value>
          <value>DATE_EXPIRES</value>
        </ParentColumns>
        <ParentSource isRef="3" />
      </CurrentQual>
    </Relations>

Could someone confirm the requirements that are needed to display a relation in a data source please?

Kind Regards,
David Harvey

Re: Viewing relations

Posted: Tue Aug 06, 2013 11:20 am
by DHarvey
I have now fixed this issue, turned out to be a piece of code clearing that part of the Dictionary.

Thank you.

David

Re: Viewing relations

Posted: Tue Aug 06, 2013 11:35 am
by Alex K.
Hello,

Ok.
Let us know if you need any additional help.