I have a small example where you can see that the print and export functions do not work. When I call them from this example, nothing happens and there are no errors and warnings in the debugger console.
While researching HTML in the debugger, I noticed that a print preview window is being created, but it is not visible. If I set it visible and click on the "print" button, then nothing happens.
Version SNAPSHOT_v13.1d_2024-05-23/Pro
index.js
	App.jsx
	
							
						
					While researching HTML in the debugger, I noticed that a print preview window is being created, but it is not visible. If I set it visible and click on the "print" button, then nothing happens.
Version SNAPSHOT_v13.1d_2024-05-23/Pro
index.js
Code:
	
	import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App';
const root = ReactDOM.createRoot(document.getElementById('app'));
root.render(
  <App/>
);
Code:
	
	import React, { Component } from 'react';
import 'smartclient-pro/release';
import 'smartclient-pro/skins/Graphite';
import { VLayout, DataSource, DSField, ListGrid, LGField, HLayout, Button } from 'smartclient-pro/react';
class App extends Component {
  constructor(param) {
    super(param);
  };
  countryData = [
    {
      continent: 'North America',
      countryName: 'United States',
      countryCode: 'US',
      area: 9631420,
      population: 298444215,
      gdp: 12360,
      independence: new Date(1776, 6, 4),
      government: 'federal republic',
      government_desc: 2,
      capital: 'Washington, DC',
      member_g8: true,
      article: 'http://en.wikipedia.org/wiki/United_states'
    },
    {
      continent: 'Asia',
      countryName: 'China',
      countryCode: 'CH',
      area: 9596960,
      population: 1313973713,
      gdp: 8859,
      government: 'Communist state',
      government_desc: 0,
      capital: 'Beijing',
      member_g8: false,
      article: 'http://en.wikipedia.org/wiki/China'
    }
  ];
  showPrintPreview = function () {
    window.isc.Canvas.showPrintPreview(window.countryList);
  }
  exportContent = function () {
    window.isc.Canvas.showPrintPreview(window.countryList);
    var oldAlternateRecordStyles = window.countryList.alternateRecordStyles;
    var oldAlternateFieldStyles = window.countryList.alternateFieldStyles;
    window.countryList.setProperties({
      alternateRecordStyles: true,
      alternateFieldStyles: false
    });
    var settings = {
      skinName: 'Tahoe',
      exportFilename: 'export'
    };
    window.isc.RPCManager.exportContent(window.printContainer, settings);
    window.countryList.delayCall('setProperties', [{
      alternateRecordStyles: oldAlternateRecordStyles,
      alternateFieldStyles: oldAlternateFieldStyles
    }], 300);
  }
  render() {
    return (
      <>
        <DataSource ID="countryDS" title="countryDS" clientOnly="true" testData={this.countryData}>
          <fields>
            <DSField name="countryCode" title="Code" />
            <DSField name="countryName" title="Country" />
            <DSField name="capital" title="Capital" />
            <DSField name="continent" title="Continent" />
          </fields>
        </DataSource>
        <VLayout ID="printContainer" membersMargin="15">
          <ListGrid ID="countryList" width="500" height="425" alternateRecordStyles="true" dataSource="countryDS"
            autoFetchData="true" showFilterEditor="true" canEdit="true" editEvent="none"
          >
            <fields>
              <LGField name="countryCode" title="Code" width="50" />
              <LGField name="countryName" title="Country" />
              <LGField name="capital" title="Capital" />
              <LGField name="continent" title="Continent" />
            </fields>
            <gridComponents>
              <value>header</value>
              <value>filterEditor</value>
              <value>body</value>
            </gridComponents>
          </ListGrid>
          <HLayout membersMargin="15" >
            <Button title="print"
              click={this.showPrintPreview}
            />
            <Button title="export"
              click={this.exportContent}
            />
          </HLayout>
        </VLayout>
      </>
    );
  }
}
export default App;
Comment