XtraReports - Image Blank when exporting to PDF - devexpress

Ive created a report file (quote.repx) which is below.
I created an image field and have it mapped to a json field called image_url which contains a full image URL
e.g. "image_url": "https://designshack.net/wp-content/uploads/st-dummycontent-6.jpg"
On the preview, using the json object this works ok.
But what i am trying to do is pass json on the fly using a custom image based on the user
this is my c# code
//Set Template Name for user
string templateName = "quote.repx";
//Build Report object Using Customer Data
dynamic report = BuildReport();
// Return Full formatted JSON the same layout as the template, but customised to user
string j = JsonConvert.SerializeObject(report);
//Build new JSON Data source using JSON string above
var jsonDataSource = new JsonDataSource();
jsonDataSource.JsonSource = new CustomJsonSource(j);
//Fill the DataSource
jsonDataSource.Fill();
//Get the report template and set the JSON data as the datasource
XtraReport result = new XtraReport();
result.LoadLayout(#"D:\\devexpress_templates\\" + templateName);
result.DataSource = jsonDataSource;
//export the result file to PDF and export to byte array
MemoryStream ms = new MemoryStream();
result.ExportToPdf(ms);
byte[] file = ms.ToArray();
return file;
Everything on this works except the Image. The JSON contains the same image url in the [image_url] field as above.
The image always shows blank.
Is there anything extra i need to do to get the image to show on the PDF
Here is the expression for the image_url taken from the full template below
<Item4 Ref="47" ControlType="XRPictureBox" Name="pictureBox1" Sizing="ZoomImage" SizeF="149.235565,100.416664" LocationFloat="0, 0">
<ExpressionBindings>
<Item1 Ref="48" Expression="[image_url]" PropertyName="ImageUrl" EventName="BeforePrint" />
</ExpressionBindings>
</Item4>
Here is the full quote.repx file
<?xml version="1.0" encoding="utf-8"?>
<XtraReportsLayoutSerializer SerializerVersion="19.1.4.0" Ref="1" ControlType="DevExpress.XtraReports.UI.XtraReport, DevExpress.XtraReports.v19.1, Version=19.1.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Name="XtraReport" PageWidth="850" PageHeight="1100" Version="19.1" DataSource="#Ref-0" Font="Arial, 9.75pt">
<Bands>
<Item1 Ref="2" ControlType="DetailBand" Name="Detail" HeightF="0" KeepTogether="true" TextAlignment="TopLeft" StyleName="baseControlStyle" Padding="0,0,0,0,100" />
<Item2 Ref="3" ControlType="TopMarginBand" Name="TopMargin" TextAlignment="TopLeft" Padding="0,0,0,0,100">
<StylePriority Ref="4" UseBackColor="false" />
</Item2>
<Item3 Ref="5" ControlType="BottomMarginBand" Name="BottomMargin" TextAlignment="TopLeft" Padding="0,0,0,0,100">
<Controls>
<Item1 Ref="6" ControlType="XRTable" Name="vendorContactsTable" SizeF="378.9991,15" LocationFloat="271, 25" Font="Segoe UI, 7.75pt" BorderColor="255,213,211,205">
<Rows>
<Item1 Ref="7" ControlType="XRTableRow" Name="vendorContactsRow" Weight="1">
<Cells>
<Item1 Ref="8" ControlType="XRTableCell" Name="vendorWebsite" Weight="1" CanGrow="false" CanShrink="true" Text="VendorWebsite" TextAlignment="MiddleLeft">
<StylePriority Ref="9" UseTextAlignment="false" />
</Item1>
<Item2 Ref="10" ControlType="XRTableCell" Name="vendorEmail" Weight="1" CanGrow="false" CanShrink="true" Text="VendorEmail" TextAlignment="MiddleCenter">
<StylePriority Ref="11" UseBorders="false" UseTextAlignment="false" />
</Item2>
<Item3 Ref="12" ControlType="XRTableCell" Name="vendorPhone" Weight="1" CanGrow="false" CanShrink="true" Text="VendorPhone" TextAlignment="MiddleRight">
<StylePriority Ref="13" UseBorders="false" UseTextAlignment="false" />
</Item3>
</Cells>
</Item1>
</Rows>
<StylePriority Ref="14" UseFont="false" UseBorderColor="false" />
</Item1>
</Controls>
</Item3>
<Item4 Ref="15" ControlType="GroupHeaderBand" Name="GroupHeader2" GroupUnion="WithFirstDetail" Level="1" HeightF="313.3333" StyleName="baseControlStyle">
<GroupFields>
<Item1 Ref="16" FieldName="InvoiceNumber" />
</GroupFields>
<Controls>
<Item1 Ref="17" ControlType="XRLabel" Name="label2" Multiline="true" Text="Deliver To" SizeF="100,23" LocationFloat="334.583344, 110.541664" Font="Segoe UI, 9.75pt, style=Bold" Padding="2,2,0,0,100">
<StylePriority Ref="18" UseFont="false" />
</Item1>
<Item2 Ref="19" ControlType="XRLabel" Name="label1" Multiline="true" Text="Invoice To" SizeF="100,23" LocationFloat="10.0000067, 110.541664" Font="Segoe UI, 9.75pt, style=Bold" Padding="2,2,0,0,100">
<StylePriority Ref="20" UseFont="false" />
</Item2>
<Item3 Ref="21" ControlType="XRTable" Name="table1" TextAlignment="TopRight" SizeF="287.6791,150" LocationFloat="334.583344, 133.541687">
<Rows>
<Item1 Ref="22" ControlType="XRTableRow" Name="tableRow1" Weight="1">
<Cells>
<Item1 Ref="23" ControlType="XRTableCell" Name="tableCell1" Weight="1" CanShrink="true" Text="VendorName" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="24" Expression="[deliver_to_name]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="25" UseFont="false" UsePadding="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item1>
<Item2 Ref="26" ControlType="XRTableRow" Name="tableRow2" Weight="1">
<Cells>
<Item1 Ref="27" ControlType="XRTableCell" Name="tableCell2" Weight="1" CanShrink="true" Text="VendorAddress" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="28" Expression="[deliver_to_address]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="29" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item2>
<Item3 Ref="30" ControlType="XRTableRow" Name="tableRow3" Weight="1">
<Cells>
<Item1 Ref="31" ControlType="XRTableCell" Name="tableCell3" Weight="1" CanShrink="true" Text="VendorCity" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="32" Expression="[deliver_to_city]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="33" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item3>
<Item4 Ref="34" ControlType="XRTableRow" Name="tableRow4" Weight="1">
<Cells>
<Item1 Ref="35" ControlType="XRTableCell" Name="tableCell4" Weight="1" CanShrink="true" Text="VendorCountry" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="36" Expression="[deliver_to_county]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="37" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item4>
<Item5 Ref="38" ControlType="XRTableRow" Name="tableRow6" Weight="1">
<Cells>
<Item1 Ref="39" ControlType="XRTableCell" Name="tableCell6" Weight="1" Multiline="true" Text="tableCell6" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="40" Expression="[deliver_to_post_code]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="41" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item5>
<Item6 Ref="42" ControlType="XRTableRow" Name="tableRow8" Weight="1">
<Cells>
<Item1 Ref="43" ControlType="XRTableCell" Name="tableCell8" Weight="1" Multiline="true" Text="tableCell8" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="44" Expression="[phone_no]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="45" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item6>
</Rows>
<StylePriority Ref="46" UseTextAlignment="false" />
</Item3>
<Item4 Ref="47" ControlType="XRPictureBox" Name="pictureBox1" Sizing="ZoomImage" SizeF="149.235565,100.416664" LocationFloat="0, 0">
<ExpressionBindings>
<Item1 Ref="48" Expression="[image_url]" PropertyName="ImageUrl" EventName="BeforePrint" />
</ExpressionBindings>
</Item4>
<Item5 Ref="49" ControlType="XRTable" Name="vendorTable" TextAlignment="TopRight" SizeF="287.6791,150" LocationFloat="10.0000067, 133.541687">
<Rows>
<Item1 Ref="50" ControlType="XRTableRow" Name="vendorNameRow" Weight="1">
<Cells>
<Item1 Ref="51" ControlType="XRTableCell" Name="vendorName" Weight="1" CanShrink="true" Text="VendorName" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="52" Expression="[customer_name]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="53" UseFont="false" UsePadding="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item1>
<Item2 Ref="54" ControlType="XRTableRow" Name="vendorAddressRow" Weight="1">
<Cells>
<Item1 Ref="55" ControlType="XRTableCell" Name="vendorAddress" Weight="1" CanShrink="true" Text="VendorAddress" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="56" Expression="[bill_to_customer_address]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="57" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item2>
<Item3 Ref="58" ControlType="XRTableRow" Name="vendorCityRow" Weight="1">
<Cells>
<Item1 Ref="59" ControlType="XRTableCell" Name="vendorCity" Weight="1" CanShrink="true" Text="VendorCity" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="60" Expression="[bill_to_customer_city]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="61" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item3>
<Item4 Ref="62" ControlType="XRTableRow" Name="vendorCountryRow" Weight="1">
<Cells>
<Item1 Ref="63" ControlType="XRTableCell" Name="vendorCountry" Weight="1" CanShrink="true" Text="VendorCountry" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="64" Expression="[bill_to_customer_county]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="65" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item4>
<Item5 Ref="66" ControlType="XRTableRow" Name="tableRow5" Weight="1">
<Cells>
<Item1 Ref="67" ControlType="XRTableCell" Name="tableCell5" Weight="1" Multiline="true" Text="tableCell5" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="68" Expression="[bill_to_customer_post_code]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="69" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item5>
<Item6 Ref="70" ControlType="XRTableRow" Name="tableRow7" Weight="1">
<Cells>
<Item1 Ref="71" ControlType="XRTableCell" Name="tableCell7" Weight="1" Multiline="true" Text="tableCell7" TextAlignment="MiddleLeft">
<ExpressionBindings>
<Item1 Ref="72" Expression="[phone_no]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="73" UseFont="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item6>
</Rows>
<StylePriority Ref="74" UseTextAlignment="false" />
</Item5>
<Item6 Ref="75" ControlType="XRLabel" Name="invoiceLabel" Text="Quote" TextAlignment="TopCenter" SizeF="185,50" LocationFloat="232.12471, 10.0000067" Font="Segoe UI, 26.25pt, style=Bold, charSet=0" Padding="2,2,0,0,100">
<StylePriority Ref="76" UseFont="false" UseTextAlignment="false" />
</Item6>
</Controls>
<StylePriority Ref="77" UseBackColor="false" />
</Item4>
<Item5 Ref="78" ControlType="GroupFooterBand" Name="GroupFooter2" GroupUnion="WithLastDetail" PrintAtBottom="true" Level="1" PageBreak="AfterBandExceptLastEntry" HeightF="86.66662" KeepTogether="true" StyleName="baseControlStyle">
<Controls>
<Item1 Ref="79" ControlType="XRTable" Name="summariesTable" SizeF="650.0001,56.6666336" LocationFloat="0, 29.9999866" ForeColor="255,90,86,85" BorderColor="255,203,201,194" Borders="Bottom">
<Rows>
<Item1 Ref="80" ControlType="XRTableRow" Name="totalCaptionRow" Weight="1">
<Cells>
<Item1 Ref="81" ControlType="XRTableCell" Name="totalCaption" Weight="2.3139507223619211" TextFormatString="{0:$0.00}" Text="TOTAL DUE" TextAlignment="TopRight" Font="Segoe UI, 8pt">
<StylePriority Ref="82" UseFont="false" UseForeColor="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item1>
<Item2 Ref="83" ControlType="XRTableRow" Name="totalRow" Weight="3.6000000584920282">
<Cells>
<Item1 Ref="84" ControlType="XRTableCell" Name="total" Weight="2.3139507223619211" TextFormatString="{0:$0.00}" Text="£0.00" TextAlignment="MiddleRight" Font="Segoe UI, 18pt, style=Bold" ForeColor="255,253,102,78">
<ExpressionBindings>
<Item1 Ref="85" Expression="[total_amount_including_vat]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="86" UseFont="false" UseForeColor="false" UseTextAlignment="false" />
</Item1>
</Cells>
</Item2>
</Rows>
<StylePriority Ref="87" UseForeColor="false" UseBorderColor="false" UseBorders="false" />
</Item1>
</Controls>
</Item5>
<Item6 Ref="88" ControlType="GroupFooterBand" Name="GroupFooter1" HeightF="12.00001" StyleName="baseControlStyle">
<Controls>
<Item1 Ref="89" ControlType="XRTable" Name="subtotalTable" SizeF="650,2" LocationFloat="0, 10.00001" Font="Segoe UI, 8pt" ForeColor="255,90,86,85" Padding="2,2,5,0,100" BorderColor="255,203,201,194">
<StylePriority Ref="90" UseFont="false" UseForeColor="false" UsePadding="false" UseBorderColor="false" />
</Item1>
</Controls>
</Item6>
<Item7 Ref="91" ControlType="GroupHeaderBand" Name="GroupHeader1" RepeatEveryPage="true" HeightF="50" StyleName="baseControlStyle">
<GroupFields>
<Item1 Ref="92" FieldName="name" />
</GroupFields>
<Controls>
<Item1 Ref="93" ControlType="XRTable" Name="headerTable" SizeF="650,32" LocationFloat="0, 0" Font="Segoe UI, 8pt" ForeColor="255,90,86,85" Padding="2,2,5,0,100" BorderColor="255,203,201,194" Borders="Bottom">
<Rows>
<Item1 Ref="94" ControlType="XRTableRow" Name="headerTableRow" Weight="11.5">
<Cells>
<Item1 Ref="95" ControlType="XRTableCell" Name="tableCell11" Weight="1.1193313638222775" Multiline="true" Text="Code">
<StylePriority Ref="96" UsePadding="false" />
</Item1>
<Item2 Ref="97" ControlType="XRTableCell" Name="productNameCaption" Weight="1.9097737147880667" Text="DESCRIPTION">
<StylePriority Ref="98" UsePadding="false" />
</Item2>
<Item3 Ref="99" ControlType="XRTableCell" Name="tableCell12" Weight="1.2154470415881713" Multiline="true" Text="Unit of Measure
">
<StylePriority Ref="100" UsePadding="false" />
</Item3>
<Item4 Ref="101" ControlType="XRTableCell" Name="quantityCaption" Weight="0.77234506619349985" Text="QTY" TextAlignment="TopRight">
<StylePriority Ref="102" UseTextAlignment="false" />
</Item4>
<Item5 Ref="103" ControlType="XRTableCell" Name="unitPriceCaption" Weight="0.71530405357389282" Text="PRICE" TextAlignment="TopRight">
<StylePriority Ref="104" UseTextAlignment="false" />
</Item5>
<Item6 Ref="105" ControlType="XRTableCell" Name="lineTotalCaptionCell" Weight="0.88202932143549484" Text="TOTAL" TextAlignment="TopRight">
<StylePriority Ref="106" UseTextAlignment="false" />
</Item6>
</Cells>
</Item1>
</Rows>
<StylePriority Ref="107" UseFont="false" UseForeColor="false" UsePadding="false" UseBorderColor="false" UseBorders="false" />
</Item1>
</Controls>
</Item7>
<Item8 Ref="108" ControlType="DetailReportBand" Name="DetailReport" Level="0" DataMember="lines" DataSource="#Ref-0">
<Bands>
<Item1 Ref="109" ControlType="DetailBand" Name="Detail1" HeightF="35">
<Controls>
<Item1 Ref="110" ControlType="XRTable" Name="detailTable" SizeF="650,35" LocationFloat="0, 0" Font="Segoe UI, 9.75pt, style=Bold" Padding="2,2,5,0,100">
<Rows>
<Item1 Ref="111" ControlType="XRTableRow" Name="detailTableRow" Weight="12.343333333333334">
<Cells>
<Item1 Ref="112" ControlType="XRTableCell" Name="tableCell9" Weight="0.9743116552502108" Multiline="true" Text="tableCell9" Font="Segoe UI, 8pt, style=Bold">
<ExpressionBindings>
<Item1 Ref="113" Expression="[item_id]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="114" UseFont="false" UsePadding="false" />
</Item1>
<Item2 Ref="115" ControlType="XRTableCell" Name="productName" Weight="1.6623447247365994" Text="ProductName" Font="Segoe UI, 8pt, style=Bold">
<ExpressionBindings>
<Item1 Ref="116" Expression="[lines].[item_description]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="117" UseFont="false" UsePadding="false" />
</Item2>
<Item3 Ref="118" ControlType="XRTableCell" Name="tableCell10" Weight="1.0579747217831477" Multiline="true" Text="tableCell10" Font="Segoe UI, 8pt, style=Bold">
<ExpressionBindings>
<Item1 Ref="119" Expression="[unit_of_measure_id]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="120" UseFont="false" UsePadding="false" />
</Item3>
<Item4 Ref="121" ControlType="XRTableCell" Name="quantity" Weight="0.67228053336029481" Text="1" TextAlignment="TopRight" Font="Segoe UI, 8pt, style=Bold">
<ExpressionBindings>
<Item1 Ref="122" Expression="[lines].[quantity]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="123" UseFont="false" UsePadding="false" UseTextAlignment="false" />
</Item4>
<Item5 Ref="124" ControlType="XRTableCell" Name="unitPrice" Weight="0.62262979369495053" TextFormatString="{0:$0.00}" Text="£0.00" TextAlignment="TopRight" Font="Segoe UI, 8pt, style=Bold">
<ExpressionBindings>
<Item1 Ref="125" Expression="[lines].[unit_price]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="126" UseFont="false" UsePadding="false" UseTextAlignment="false" />
</Item5>
<Item6 Ref="127" ControlType="XRTableCell" Name="lineTotal" Weight="0.76775414849216328" TextFormatString="{0:$0.00}" Text="£0.00" TextAlignment="TopRight" Font="Segoe UI, 8pt, style=Bold" ForeColor="255,253,102,78">
<ExpressionBindings>
<Item1 Ref="128" Expression="[lines].[item_total]" PropertyName="Text" EventName="BeforePrint" />
</ExpressionBindings>
<StylePriority Ref="129" UseFont="false" UseForeColor="false" UsePadding="false" UseTextAlignment="false" />
</Item6>
</Cells>
</Item1>
</Rows>
<StylePriority Ref="130" UseFont="false" UsePadding="false" />
</Item1>
</Controls>
</Item1>
</Bands>
</Item8>
</Bands>
<StyleSheet>
<Item1 Ref="131" Name="baseControlStyle" BorderStyle="Inset" Padding="2,2,0,0,100" Font="Segoe UI, 9.75pt" StringFormat="Near;Near;0;None;Character;Default" />
<Item2 Ref="132" Name="Style1" BorderStyle="Inset" StringFormat="Near;Near;0;None;Character;Default" />
</StyleSheet>
</XtraReportsLayoutSerializer>

Related

How to add custom table to the reviewTask screen of workflow form?

Alfresco Community v5.2 includes some of preconfigured workflows that available on the page /share/page/start-workflow
Among others, there is one that is interested to me - is "Review and Approve (one or more reviewers) - Assign a review task to multiple reviewers".
This business process is well suited to the requirements of one of our customers.
The only difference is that is needed to see the table of all the performers on the ReviewTask screens.
I decided to start with this wonderful article by Muralidharan Deenathayalan: Alfresco community 5.1.x workflow form add input fields dynamically
For start, I would like to see the table on my screens.
But I faced with the problem - the table is not displayed (even the static header).
And when I try to approve or reject the document, an exception occurs:
org.activiti.engine.ActivitiException: Exception while invoking
TaskListener: 02100034 Mandatory task properties have not been
provided! {http://www......com/model/workflow/1.0}userDetails
Some of the details below.
workflow-model.xml:
<?xml version="1.0" encoding="UTF-8"?>
<model name="mswf:workflowmodel" xmlns="http://www.alfresco.org/model/dictionary/1.0">
<imports>
<import uri="http://www.alfresco.org/model/dictionary/1.0" prefix="d"/>
<import uri="http://www.alfresco.org/model/bpm/1.0" prefix="bpm"/>
</imports>
<namespaces>
<namespace uri="http://www.........../model/workflow/1.0" prefix="mswf" />
</namespaces>
<types>
<type name="mswf:submitConcurrentReviewTask">
<parent>bpm:startTask</parent>
<properties>
<property name="mswf:requiredApprovePercent">
<type>d:int</type>
<mandatory>true</mandatory>
<default>50</default>
<constraints>
<constraint type="MINMAX">
<parameter name="minValue"><value>1</value></parameter>
<parameter name="maxValue"><value>100</value></parameter>
</constraint>
</constraints>
</property>
</properties>
</type>
<type name="mswf:submitParallelReviewTask">
<parent>mswf:submitConcurrentReviewTask</parent>
<mandatory-aspects>
<aspect>bpm:assignees</aspect>
</mandatory-aspects>
</type>
<type name="mswf:activitiReviewTask">
<parent>bpm:activitiOutcomeTask</parent>
<properties>
<property name="mswf:reviewOutcome">
<type>d:text</type>
<default>Reject</default>
<constraints>
<constraint name="mswf:reviewOutcomeOptions" type="LIST">
<parameter name="allowedValues">
<list>
<value>Approve|...</value>
<value>Reject|...</value>
</list>
</parameter>
</constraint>
</constraints>
</property>
<property name="mswf:userDetails">
<title> User Details</title>
<type>d:text</type>
<mandatory>true</mandatory>
</property>
</properties>
<overrides>
<property name="bpm:packageItemActionGroup">
<default>edit_package_item_actions</default>
</property>
<property name="bpm:outcomePropertyName">
<default>{http://www......../model/workflow/1.0}reviewOutcome</default>
</property>
</overrides>
</type>
<type name="mswf:rejectedParallelTask">
<parent>bpm:workflowTask</parent>
<mandatory-aspects>
<aspect>mswf:parallelReviewStats</aspect>
</mandatory-aspects>
</type>
<type name="mswf:approvedParallelTask">
<parent>bpm:workflowTask</parent>
<mandatory-aspects>
<aspect>mswf:parallelReviewStats</aspect>
</mandatory-aspects>
</type>
</types>
<aspects>
<aspect name="mswf:parallelReviewStats">
<properties>
<property name="mswf:reviewerCount">
<type>d:int</type>
</property>
<property name="mswf:requiredPercent">
<type>d:int</type>
</property>
<property name="mswf:approveCount">
<type>d:int</type>
</property>
<property name="mswf:actualPercent">
<type>d:int</type>
</property>
</properties>
</aspect>
</aspects>
</model>
contractsApproval.bpmn:
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:activiti="http://activiti.org/bpmn" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:omgdc="http://www.omg.org/spec/DD/20100524/DC" xmlns:omgdi="http://www.omg.org/spec/DD/20100524/DI" typeLanguage="http://www.w3.org/2001/XMLSchema" expressionLanguage="http://www.w3.org/1999/XPath" targetNamespace="http://www.activiti.org/....-10.0">
<process id="contractsApproval" name="..... Approval " isExecutable="true">
<extensionElements>
<activiti:executionListener event="start" class="org.alfresco.repo.workflow.activiti.listener.ScriptExecutionListener">
<activiti:field name="script">
<activiti:string><![CDATA[execution.setVariable('mswf_approveCount', 0);
execution.setVariable('mswf_rejectCount', 0);
execution.setVariable('mswf_actualPercent', 0);
execution.setVariable('mswf_actualRejectPercent', 0);
execution.setVariable('mswf_reviewerCount', bpm_assignees.size());
execution.setVariable('mswf_requiredPercent', mswf_requiredApprovePercent);]]></activiti:string>
</activiti:field>
</activiti:executionListener>
</extensionElements>
<startEvent id="start" activiti:formKey="mswf:submitParallelReviewTask"></startEvent>
<sequenceFlow id="flow1" sourceRef="start" targetRef="reviewTask"></sequenceFlow>
<userTask id="reviewTask" name="Review Task" activiti:assignee="${reviewAssignee.properties.userName}" activiti:formKey="mswf:activitiReviewTask">
<extensionElements>
<activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[if (typeof bpm_workflowDueDate != 'undefined') task.dueDate = bpm_workflowDueDate
if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;]]></activiti:string>
</activiti:field>
</activiti:taskListener>
<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[if(task.getVariableLocal('mswf_reviewOutcome') == 'Approve') {
var newApprovedCount = mswf_approveCount + 1;
var newApprovedPercentage = (newApprovedCount / mswf_reviewerCount) * 100;
execution.setVariable('mswf_approveCount', newApprovedCount);
execution.setVariable('mswf_actualPercent', newApprovedPercentage);
} else {
var newRejectCount = mswf_rejectCount + 1;
var newRejectPercentage = (newRejectCount / mswf_reviewerCount) * 100;
execution.setVariable('mswf_rejectCount', newRejectCount);
execution.setVariable('mswf_actualRejectPercent', newRejectPercentage);
}]]></activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics isSequential="false" activiti:collection="bpm_assignees" activiti:elementVariable="reviewAssignee">
<completionCondition>${mswf_actualPercent >= mswf_requiredApprovePercent || mswf_requiredApprovePercent > (100 - mswf_actualRejectPercent)}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
<sequenceFlow id="flow2" sourceRef="reviewTask" targetRef="reviewDecision"></sequenceFlow>
<exclusiveGateway id="reviewDecision" name="Review Decision"></exclusiveGateway>
<sequenceFlow id="flow3" sourceRef="reviewDecision" targetRef="approved">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${mswf_actualPercent >= mswf_requiredApprovePercent}]]></conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow4" sourceRef="reviewDecision" targetRef="rejected"></sequenceFlow>
<userTask id="approved" name="Document Approved" activiti:assignee="${initiator.exists() ? initiator.properties.userName : 'admin'}" activiti:formKey="mswf:approvedParallelTask">
<documentation>The document was reviewed and approved.</documentation>
<extensionElements>
<activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[if (typeof bpm_workflowDueDate != 'undefined') task.dueDate = bpm_workflowDueDate
if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;
// Set parallel review params on task, to be kept in history
task.setVariableLocal('mswf_reviewerCount', mswf_reviewerCount);
task.setVariableLocal('mswf_requiredPercent', mswf_requiredPercent);
task.setVariableLocal('mswf_actualPercent', mswf_actualPercent);
task.setVariableLocal('mswf_approveCount', mswf_approveCount);]]></activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</userTask>
<userTask id="rejected" name="Document Rejected" activiti:assignee="${initiator.exists() ? initiator.properties.userName : 'admin'}" activiti:formKey="mswf:rejectedParallelTask">
<documentation>The document was reviewed and rejected.</documentation>
<extensionElements>
<activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[if (typeof bpm_workflowDueDate != 'undefined') task.dueDate = bpm_workflowDueDate
if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;
// Set parallel review params on task, to be kept in history
task.setVariableLocal('mswf_reviewerCount', mswf_reviewerCount);
task.setVariableLocal('mswf_requiredPercent', mswf_requiredPercent);
task.setVariableLocal('mswf_actualPercent', mswf_actualPercent);
task.setVariableLocal('mswf_approveCount', mswf_approveCount);]]></activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</userTask>
<sequenceFlow id="flow5" sourceRef="approved" targetRef="end"></sequenceFlow>
<sequenceFlow id="flow6" sourceRef="rejected" targetRef="end"></sequenceFlow>
<endEvent id="end"></endEvent>
</process>
<bpmndi:BPMNDiagram id="BPMNDiagram_contractsApproval">
...
</bpmndi:BPMNDiagram>
</definitions>
share-config-custom.xml (some fields are not specified):
<alfresco-config>
<config evaluator="string-compare" condition="activiti$activitiReview">
<forms>
<form>
<field-visibility>
<show id="bpm:workflowDescription" />
<show id="bpm:workflowDueDate" />
<show id="bpm:workflowPriority" />
<show id="bpm:assignee" />
<show id="packageItems" />
<show id="bpm:sendEMailNotifications" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.general" />
<set id="info" appearance="" template="/org/alfresco/components/form/2-column-set.ftl" />
<set id="assignee" appearance="title" label-id="workflow.set.assignee" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="other" appearance="title" label-id="workflow.set.other" />
<field id="bpm:assignee" label-id="workflow.field.reviewer" set="assignee" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="string-compare" condition="activiti$contractsApproval">
<forms>
<form>
<field-visibility>
<show id="bpm:workflowDescription" />
<show id="bpm:workflowDueDate" />
<show id="bpm:workflowPriority" />
<show id="bpm:assignees" />
<show id="mswf:requiredApprovePercent" />
<show id="packageItems" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.general" />
<set id="info" appearance="" template="/org/alfresco/components/form/2-column-set.ftl" />
<set id="assignee" appearance="title" label-id="workflow.set.assignees" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="other" appearance="title" label-id="workflow.set.other" />
<field id="bpm:assignees" label-id="workflow.field.reviewers" set="assignee" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
<field id="packageItems" set="items" />
</appearance>
</form>
</forms>
</config>
<config evaluator="string-compare" condition="activiti$activitiLifecycleApproval">
<forms>
<form>
<field-visibility>
<show id="bpm:workflowDescription" />
<show id="bpm:workflowDueDate" />
<show id="bpm:workflowPriority" />
<show id="bpm:assignee" />
<show id="packageItems" />
<show id="bpm:sendEMailNotifications" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.general" />
<set id="info" appearance="" template="/org/alfresco/components/form/2-column-set.ftl" />
<set id="assignee" appearance="title" label-id="workflow.set.assignee" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="other" appearance="title" label-id="workflow.set.other" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="task-type" condition="bpm:startTask">
<forms>
<form id="workflow-details">
<field-visibility>
<show id="bpm:sendEMailNotifications" />
<show id="packageItems" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.workflow.more_info" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<field id="packageItems" set="items" />
</appearance>
</form>
<form>
<field-visibility>
<show id="message" />
<show id="taskOwner" />
<show id="bpm:workflowPriority" />
<show id="bpm:workflowDueDate" />
<show id="bpm:taskId" />
<show id="bpm:status" />
<show id="packageItems" />
<show id="bpm:sendEMailNotifications" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.task.info" />
<set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="other" appearance="title" label-id="workflow.set.other" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="task-type" condition="mswf:submitParallelReviewTask">
<forms>
<form id="workflow-details">
<field-visibility>
<show id="mswf:requiredApprovePercent" />
<show id="bpm:sendEMailNotifications" />
<show id="packageItems" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.workflow.more_info" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<field id="packageItems" set="items" />
</appearance>
</form>
<form>
<field-visibility>
<show id="message" />
<show id="taskOwner" />
<show id="bpm:workflowPriority" />
<show id="bpm:workflowDueDate" />
<show id="bpm:taskId" />
<show id="mswf:requiredApprovePercent" />
<show id="bpm:status" />
<show id="packageItems" />
<show id="bpm:sendEMailNotifications" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.task.info" />
<set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="other" appearance="title" label-id="workflow.set.other" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="task-type" condition="bpm:workflowTask">
<forms>
<form>
<field-visibility>
<show id="message" />
<show id="taskOwner" />
<show id="bpm:priority" />
<show id="bpm:dueDate" />
<show id="bpm:taskId" />
<show id="bpm:status" />
<show id="packageItems" />
<show id="bpm:comment" />
<show id="transitions" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.task.info" />
<set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="response" appearance="title" label-id="workflow.set.response" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="task-type" condition="mswf:reviewTask">
<forms>
<form>
<field-visibility>
<show id="message" />
<show id="taskOwner" />
<show id="bpm:priority" />
<show id="bpm:dueDate" />
<show id="bpm:taskId" />
<show id="packageItems" />
<show id="bpm:comment" />
<show id="transitions" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.task.info" />
<set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="response" appearance="title" label-id="workflow.set.response" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="task-type" condition="mswf:activitiReviewTask">
<forms>
<form>
<field-visibility>
<show id="message" />
<show id="taskOwner" />
<show id="bpm:priority" />
<show id="bpm:dueDate" />
<show id="bpm:taskId" />
<show id="packageItems" />
<show id="bpm:comment" />
<show id="mswf:reviewOutcome" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.task.info" />
<set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="response" appearance="title" label-id="workflow.set.response" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="task-type" condition="mswf:approvedParallelTask">
<forms>
<form>
<field-visibility>
<show id="message" />
<show id="taskOwner" />
<show id="bpm:priority" />
<show id="bpm:dueDate" />
<show id="bpm:taskId" />
<show id="mswf:reviewerCount" />
<show id="mswf:approveCount" />
<show id="mswf:requiredPercent" />
<show id="mswf:actualPercent" />
<show id="packageItems" />
<show id="bpm:comment" />
<show id="transitions" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.task.info" />
<set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="outcome" appearance="title" label-id="workflow.set.outcome"
template="/org/alfresco/components/form/2-column-set.ftl" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="response" appearance="title" label-id="workflow.set.response" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
<config evaluator="task-type" condition="mswf:rejectedParallelTask">
<forms>
<form>
<field-visibility>
<show id="message" />
<show id="taskOwner" />
<show id="bpm:priority" />
<show id="bpm:dueDate" />
<show id="bpm:taskId" />
<show id="mswf:reviewerCount" />
<show id="mswf:approveCount" />
<show id="mswf:requiredPercent" />
<show id="mswf:actualPercent" />
<show id="packageItems" />
<show id="bpm:comment" />
<show id="transitions" />
</field-visibility>
<appearance>
<set id="" appearance="title" label-id="workflow.set.task.info" />
<set id="info" appearance="" template="/org/alfresco/components/form/3-column-set.ftl" />
<set id="progress" appearance="title" label-id="workflow.set.task.progress" />
<set id="outcome" appearance="title" label-id="workflow.set.outcome"
template="/org/alfresco/components/form/2-column-set.ftl" />
<set id="items" appearance="title" label-id="workflow.set.items" />
<set id="response" appearance="title" label-id="workflow.set.response" />
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
</forms>
</config>
</alfresco-config>
Where I'm wrong?
Yes, it should be present in the <field-visibility> section and ensure, you've the set also exists int the section.
<form>
<field-visibility>
......
......
<show id="mswf:userDetails" />
........
........
</field-visibility>
<appearance>
............
<set id="userDetails" appearance="title" label="User Details" />
.............
<field id="mswf:userDetails" set="userDetails" label="User Details" read-only="true">
<control template="/org/alfresco/components/form/controls/workflow/userdetails.ftl" />
</field>
</appearance>
</form>
Hope this helps you.

Alternate Color for Highlighting Table Rows

I am trying to add the highlighting row functionality to a table, the values of which I am getting from backend OData service.
I am referring this:
For the views, I am using an xmlview
<mvc:View
xmlns:mvc="sap.ui.core.mvc"
controllerName="generated.app.controller.14768629992738663_S0"
xmlns:m="sap.m"
xmlns:html="http://www.w3.org/1999/xhtml"
>
<m:Page id="sap_Responsive_Page_0"
showHeader="true"
title="Manage Tenants"
showFooter="true"
showNavButton="true"
>
<m:SearchField id="sap_Responsive_Page_0-content-sap_m_SearchField-1476864205399"
placeholder="Search"
showSearchButton="true"
visible="true"
width="268.140625px"
liveChange="onFilter"
/>
<m:Toolbar id="sap_Responsive_Page_0-content-sap_m_Toolbar3-1476863171475"
width="auto"
design="Transparent"
height="46px"
visible="true"
enabled="true"
>
<m:Text id="sap_Responsive_Page_0-content-sap_m_Toolbar3-1476863171475-content-sap_m_Text-1"
text="Items"
width="auto"
maxLines="1"
wrapping="false"
textAlign="Begin"
textDirection="Inherit"
/>
<m:ToolbarSpacer id="sap_Responsive_Page_0-content-sap_m_Toolbar3-1476863171475-content-sap_m_ToolbarSpacer-2" width=""/>
<m:Button id="sap_Responsive_Page_0-content-sap_m_Toolbar3-1476863171475-content-sap_m_Button-1476863865529"
iconDensityAware="false"
text=""
type="Default"
icon="sap-icon://add"
iconFirst="true"
width="auto"
enabled="true"
visible="true"
press="_onButtonPress2"
/>
<m:Button id="sap_Responsive_Page_0-content-sap_m_Toolbar3-1476863171475-content-sap_m_Button-4"
iconDensityAware="false"
text=""
type="Transparent"
icon="sap-icon://drop-down-list"
iconFirst="true"
width="auto"
enabled="true"
visible="true"
press="onGroup"
/>
</m:Toolbar>
<m:Table id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613"
width="100%"
noDataText="No data"
selectionMode="MultiToggle"
growing="false"
growingThreshold="20"
growingScrollToLoad="false"
items="{/BYD}"
itemPress="_onTableItemPress"
ariaLabelledBy="title"
>
<m:columns>
<m:Column id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-1"
width="auto"
hAlign="Left"
vAlign="Top"
minScreenWidth="Tablet"
demandPopin="true"
popinDisplay="Inline"
mergeDuplicates="false"
>
<m:Text id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-1-header-sap_m_Text-1"
text="Tenant"
width="auto"
maxLines="1"
wrapping="false"
textAlign="Begin"
textDirection="Inherit"
/>
</m:Column>
<m:Column id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-2"
width="auto"
hAlign="Left"
vAlign="Top"
minScreenWidth="Tablet"
demandPopin="true"
popinDisplay="Block"
mergeDuplicates="false"
>
<m:Text id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-2-header-sap_m_Text-1"
text="Division"
width="auto"
maxLines="1"
wrapping="false"
textAlign="Begin"
textDirection="Inherit"
/>
</m:Column>
<m:Column id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-3"
width="auto"
hAlign="Left"
vAlign="Top"
minScreenWidth="Tablet"
demandPopin="true"
popinDisplay="Block"
mergeDuplicates="false"
>
<m:Text id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-3-header-sap_m_Text-1"
text="Type"
width="auto"
maxLines="1"
wrapping="false"
textAlign="Begin"
textDirection="Inherit"
/>
</m:Column>
<m:Column id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-1476863521840"
width="auto"
hAlign="Left"
vAlign="Top"
minScreenWidth="Tablet"
demandPopin="true"
popinDisplay="Inline"
mergeDuplicates="false"
>
<m:Text id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-columns-build_simple_Column-1476863521840-header-sap_m_Text-1"
text="Status"
width="auto"
maxLines="1"
wrapping="false"
textAlign="Begin"
textDirection="Inherit"
/>
</m:Column>
</m:columns>
<m:ColumnListItem id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-items-build_simple_Row-1"
type="Navigation"
press="onPress"
>
<m:ObjectIdentifier id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-items-build_simple_Row-1-cells-sap_m_ObjectIdentifier-1"
title="{TENANTNAME}"
text="{ID}"
titleActive="false"
visible="true"
/>
<m:Text id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-items-build_simple_Row-1-cells-sap_m_Text-2"
text="{DIVISION}"
width="auto"
maxLines="1"
wrapping="false"
textAlign="Begin"
textDirection="Inherit"
/>
<m:Text id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-items-build_simple_Row-1-cells-build_simple_TableCell-1476863445271-content-sap_m_Text-1476863453798"
text="{TYPES}"
width="auto"
maxLines="1"
wrapping="false"
textAlign="Begin"
textDirection="Inherit"
/>
<m:ObjectStatus id="sap_Responsive_Page_0-content-build_simple_Table-1476863214613-items-build_simple_Row-1-cells-build_simple_TableCell-1476863521843-content-sap_m_ObjectStatus-1476863547560"
title=""
text="{STATUS}"
state="{STATUSFLAG}"
/>
</m:ColumnListItem>
</m:Table>
<m:footer>
<m:Bar id="sap_Responsive_Page_0-footer-sap_m_Bar-1" design="Auto"/>
</m:footer>
</m:Page>
</mvc:View>
As mentioned in the above link, I created a CSS file, where in I am mentioning the ID of the table to add the highlighting functionality to it.
#sap_Responsive_Page_0-content-build_simple_Table-1476863214613 tbody tr:nth-child(even) {
background: rgb(24, 245, 25);
}
I have added the CSS in resources in manifest.json
"sap.ui5": {
"resources": {
"css": [{
"uri": "css/style.css"
}]
}
}
But this has not worked as it is expected to work.
Is there something more or different I need to do here?!
You should NOT rely on ids for your css in SAPUI5 : ids are generated at runtime and you have no garanty that it will stay consistent over time (+ the ID you specify in the XML is NOT the actual ID of the DOM element).
Change your CSS selector to use the built-in CSS classes (which SAPUI5 supports over time) or add your own classes.
.xml
<Table class="myHighlightClass" ....
.css
.myHighlightClass { ...

ASP.net:ext.net gridpanel filter date doesn't work

Look this code
<Model>
<ext:Model ID="Model1" runat="server" IDProperty="DownTimeSequenceNo">
<Fields>
<ext:ModelField Name="RowNumber" />
<ext:ModelField Name="DownTimeSequenceNo" />
<ext:ModelField Name="Status" Type="String" />
<ext:ModelField Name="Keterangan" />
<ext:ModelField Name="DownTimeDate" Type="Date" />
<ext:ModelField Name="WSID" Type="String" />
</Fields>
</ext:Model>
</Model>
<Sorters>
<ext:DataSorter Property="DownTimeSequenceNo" Direction="ASC" />
</Sorters>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column ID="Column1" runat="server" Text="No" DataIndex="RowNumber" Sortable="False"
Width="50" Filterable="false" />
<ext:Column ID="Column2" runat="server" Text="DownTimeSequenceNo" DataIndex="DownTimeSequenceNo"
Visible="false" />
<ext:Column ID="Column3" runat="server" Text="Status" DataIndex="Status" Width="50" />
<ext:Column ID="Column4" runat="server" Text="Keterangan" DataIndex="Keterangan"
Width="100" Filterable="false" Sortable="False" />
<ext:DateColumn ID="Column5" runat="server" Text="Tanggal" DataIndex="DownTimeDate"
Width="80" Format="dd/MMM/Y HH:mm" Filterable="true" />
<ext:Column ID="Column6" runat="server" Text="WSID" DataIndex="WSID" Width="50" />
</Columns>
</ColumnModel>
<SelectionModel>
<ext:CheckboxSelectionModel ID="CheckboxSelectionModel1" runat="server" Mode="Multi" />
</SelectionModel>
<Plugins>
<ext:FilterHeader ID="FilterHeader1" runat="server" Remote="true" />
</Plugins>
</ext:GridPanel>
</asp:Panel>
This code works filtering if the filter data type is string, but it doesn't work when it is date. What should i do ?
I have tried to google and ext-net examples doesn't provide any help.
take alook at this offical example
here
u need to declare feature and specify date here
<Features>
<ext:GridFilters ID="GridFilters1" runat="server">
<Filters>
<ext:NumericFilter DataIndex="Id" />
<ext:StringFilter DataIndex="Company" />
<ext:NumericFilter DataIndex="Price" />
<ext:DateFilter DataIndex="Date">
<DatePickerOptions runat="server" TodayText="Now" />
</ext:DateFilter>
<ext:ListFilter DataIndex="Size" Options="extra small,small,medium,large,extra large" />
<ext:BooleanFilter DataIndex="Visible" />
</Filters>
</ext:GridFilters>
</Features>

How set Stacked="true" column chart telerik

I have a column chart, so I would like to chart the values last columns show stacked values.
I am using the RadHtmlChart Telerik, but setting parameter tacked="true" in the last columns, but the result its wrong the chart is not stacked, if i set this attribute in the first line serie, the chart is stacked. This my code:
<telerik:RadHtmlChart ID="Chart" runat="server" Width="680" Height="500">
<PlotArea>
<XAxis>
<LabelsAppearance>
<TextStyle Color="white" FontFamily="Arial" FontSize="13" />
</LabelsAppearance>
</XAxis>
<YAxis Step="5000000" MinValue="0" >
<LabelsAppearance DataFormatString="${0:0,0}">
<TextStyle Color="white" FontFamily="Arial" FontSize="12" />
</LabelsAppearance>
</YAxis>
<Series>
<telerik:ColumnSeries Name="Garantías Vigentes">
<LabelsAppearance Position="Center" DataFormatString="${0:0,0}" >
<TextStyle Color="Black" FontFamily="Arial" Bold="True" FontSize="18" />
</LabelsAppearance>
<Appearance>
<FillStyle BackgroundColor="#87cb50"></FillStyle>
</Appearance>
<SeriesItems>
</SeriesItems>
</telerik:ColumnSeries>
<telerik:ColumnSeries Name="Saldo Vigente" Stacked="true">
<LabelsAppearance Position="Center" DataFormatString="${0:0,0}">
<TextStyle Color="Black" FontFamily="Arial" Bold="True" FontSize="18" />
</LabelsAppearance>
<Appearance>
<FillStyle BackgroundColor="#8DB4E2"></FillStyle>
</Appearance>
<SeriesItems>
</SeriesItems>
</telerik:ColumnSeries>
<telerik:ColumnSeries Name="" Stacked="true">
<LabelsAppearance Position="Center" DataFormatString="${0:0,0}">
<TextStyle Color="Black" FontFamily="Arial" Bold="True" FontSize="18" />
</LabelsAppearance>
<Appearance>
<FillStyle BackgroundColor="#8DB4E2"></FillStyle>
</Appearance>
<SeriesItems>
</SeriesItems>
</telerik:ColumnSeries>
</Series>
</PlotArea>
<Legend>
<Appearance Position="Bottom"><TextStyle Color="white" FontFamily="Arial" FontSize="20" Bold="True"/></Appearance>
</Legend>
</telerik:RadHtmlChart>
thanks for yours comments
Read this to see how to use the feature: http://www.telerik.com/help/aspnet-ajax/htmlchart-stacked-series.html.
Read this to see how to get a total in the last series: http://www.telerik.com/forums/need-to-display-grand-total-on-top-of-the-htmlchart-stacked-bars.
Finally I set the property stacked= true in the last column, my code:
<telerik:RadHtmlChart ID="Chart" runat="server" Width="680" Height="500">
<PlotArea>
<XAxis>
<LabelsAppearance>
<TextStyle Color="white" FontFamily="Arial" FontSize="13" />
</LabelsAppearance>
</XAxis>
<YAxis MinValue="0" >
<LabelsAppearance DataFormatString="${0:0,0}">
<TextStyle Color="white" FontFamily="Arial" FontSize="12" />
</LabelsAppearance>
</YAxis>
<Series>
<telerik:ColumnSeries Name="Garantías Vigentes" Stacked="true">
<LabelsAppearance Position="Center" DataFormatString="${0:0,0}">
<TextStyle Color="Black" FontFamily="Arial" Bold="True" FontSize="18" />
</LabelsAppearance>
<Appearance>
<FillStyle BackgroundColor="#87cb50"></FillStyle>
</Appearance>
<SeriesItems>
</SeriesItems>
</telerik:ColumnSeries>
</Series>
<Series>
<telerik:ColumnSeries Name="Saldo Vigente" Stacked="true">
<LabelsAppearance Position="Center" DataFormatString="${0:0,0}">
<TextStyle Color="Black" FontFamily="Arial" Bold="True" FontSize="18" />
</LabelsAppearance>
<Appearance>
<FillStyle BackgroundColor="#8DB4E2"></FillStyle>
</Appearance>
<SeriesItems>
<telerik:CategorySeriesItem Y="0"></telerik:CategorySeriesItem>
</SeriesItems>
</telerik:ColumnSeries>
<telerik:ColumnSeries Name="" >
<LabelsAppearance Position="Center" DataFormatString="${0:0,0}">
<TextStyle Color="Black" FontFamily="Arial" Bold="True" FontSize="0" />
</LabelsAppearance>
<Appearance>
<FillStyle BackgroundColor="#1B1A1A"></FillStyle>
</Appearance>
<SeriesItems>
<telerik:CategorySeriesItem Y="0"></telerik:CategorySeriesItem>
</SeriesItems>
</telerik:ColumnSeries>
</Series>
</PlotArea>
<Legend>
<Appearance Position="Bottom"><TextStyle Color="white" FontFamily="Arial" FontSize="20" Bold="True"/></Appearance>
</Legend>
</telerik:RadHtmlChart>
the part of code-behind:
Public Sub LoadChart()
Dim salesAuto As Double
Dim lessVig As Double
lessVig = LtlSaldoVigente.Text.ToDouble
salesAuto = CDbl(LtlLine.Text.ToDouble - lessVig * 1000000)
Chart.PlotArea.YAxis.MinorGridLines.Visible = False
Chart.PlotArea.XAxis.MinorGridLines.Visible = False
Dim ColumnSeries1 As ColumnSeries = TryCast(Chart.PlotArea.Series(0), ColumnSeries)
ColumnSeries1.SeriesItems.Add(y:=CDec(LtlValue.Text.ToDouble))
ColumnSeries1.SeriesItems.Add(y:=CDec(0))
Dim ColumnSeries2 As ColumnSeries = TryCast(Chart.PlotArea.Series(1), ColumnSeries)
ColumnSeries2.Stacked = True
ColumnSeries2.SeriesItems.Add(y:=CDec(LtlSaVig.Text.ToDouble * 1000000))
Dim ColumnSeries3 As ColumnSeries = TryCast(Chart.PlotArea.Series(2), ColumnSeries)
ColumnSeries3.SeriesItems.Add(y:=CDec(lessVig))
End Sub
the result:

Devexpress generate trash in the source code

I'm using VS10. I'm edit the code on the aspx-page there is no any unexpected events but if I do anything on the tab Constructor then DevExpress creates many of code. I'm in despair. How is it turned off?
Tab Source code
<dx:ASPxButton ID="btnFindServer" runat="server" Text="Find" Width="100%" />
I do something on the Constructor Tab
<dx:ASPxButton ID="btnFindServer" runat="server" Text="Find">
<Image Align="NotSet">
</Image>
<CheckedStyle>
<BackgroundImage Repeat="Repeat" />
<Border BorderStyle="NotSet" />
<BorderLeft BorderStyle="NotSet" />
<BorderTop BorderStyle="NotSet" />
<BorderRight BorderStyle="NotSet" />
<BorderBottom BorderStyle="NotSet" />
</CheckedStyle>
<PressedStyle>
<BackgroundImage Repeat="Repeat" />
<Border BorderStyle="NotSet" />
<BorderLeft BorderStyle="NotSet" />
<BorderTop BorderStyle="NotSet" />
<BorderRight BorderStyle="NotSet" />
<BorderBottom BorderStyle="NotSet" />
</PressedStyle>
<HoverStyle>
<BackgroundImage Repeat="Repeat" />
<Border BorderStyle="NotSet" />
<BorderLeft BorderStyle="NotSet" />
<BorderTop BorderStyle="NotSet" />
<BorderRight BorderStyle="NotSet" />
<BorderBottom BorderStyle="NotSet" />
</HoverStyle>
<FocusRectBorder BorderStyle="NotSet" />
<BackgroundImage Repeat="Repeat" />
<Border BorderStyle="NotSet" />
<BorderLeft BorderStyle="NotSet" />
<BorderTop BorderStyle="NotSet" />
<BorderRight BorderStyle="NotSet" />
<BorderBottom BorderStyle="NotSet" />
<DisabledStyle>
<BackgroundImage Repeat="Repeat" />
<Border BorderStyle="NotSet" />
<BorderLeft BorderStyle="NotSet" />
<BorderTop BorderStyle="NotSet" />
<BorderRight BorderStyle="NotSet" />
<BorderBottom BorderStyle="NotSet" />
</DisabledStyle>
If you did these modifications in the Design View, so it is not HTML.
It is how the designer modifications are serialized to the Source View:
Web Forms Designer

Resources