Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Unable to export from TreeGrid - no criteria passed

    Greetings,

    We're using version 8 GA. I've got a treegrid (code below) that when I export, the criteria is empty. I've traced the rpc, looked at it with fiddler, checked the back end, criteria is simply empty. If I change the object to ListGrid.create instead of TreeGrid, it works perfectly. But as a treegrid, I cannot get criteria to pass using export. The treegrid display fine, but I can't export since the criteria doesn't pass on export. Since no criteria passes to the server, of course I can't perform the query to send data back. So my spreadsheet is empty. And, I can export (criteria passes) if I export the datasource, but I want the tree export not the datasource.

    There are no javascript errors. The RPC trace just shows [Transaction in Progress], I've seen this with other exports that are working on listrids. I do see the error in the logs (show below), but I'm not sure how to go about debugging it. There's definitely nothing wrong on the server side, I'm just not getting the criteria passed (unless I use a listgrid instead of a treegrid).

    I've tried every possible variation of this, realizing that the criteria doesn't need to be there, but I passed it here just to see if it would work (it doesn't):
    Code:
    familyTreeReportGrid.exportData({exportAs:'csv', exportDisplay:'download', criteria:'test'});
    Code:
    === 2011-07-20 11:38:08,156 [or12] INFO  RequestContext - URL: '/iap/include/isomorphic/IDACall/Results.csv', User-Agent: 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; InfoPath.3; MS-RTC LM 8)': MSIE with Accept-Encoding header, ready for compressed JS
    === 2011-07-20 11:38:08,163 [or12] INFO  IDACall - Performing 1 operation(s)
    === 2011-07-20 11:38:08,163 [or12] WARN  RequestContext - dsRequest.execute() failed: 
    === 2011-07-20 11:38:08,164 [or12] ERROR IDACall - Error executing operation: IAFamilyReport_fetch
    Code:
    isc.TreeGrid.create({
        ID: "familyTreeReportGrid",
        width: 700,
    	height:1000,
        top:220,
        left:10,
        dataSource: "IAFamilyReport",
    	autoDraw:true,
        autoFetchData: true,
    	loadDataOnDemand:false,
        iconSize:1,
    	selectionAppearance:"checkbox",
        openerIconSize: 20,
        backgroundColor:"white",
        nodeIcon:"[SKIN]transparent_spacer.gif",
    	showConnectors: true,
    	showFullConnectors: true,
        showOpenIcons:false,
        showDropIcons:false,
        closedIconSuffix:"",
    	//initialCriteria: {insType:<%=insType%>, companyCode:'<%=companyCode%>', filingYear:<%=filingYear %>},
    	fields: [
    				{name:"<%=UserInterface.GRID_COMPANY_CODE_DIS%>", 	title:"Company Code"},
    				{name:"<%=UserInterface.GRID_COMPANY_NAME%>",		title:"Company Name"},
    				{name:"<%=UserInterface.GRID_INS_TYPE%>",			showIf:"false"},		
    				{name:"<%=UserInterface.GRID_FILING_TYPE_DIS%>",	title:"Filing Type"}
    				<% if ((insType != IAConstant.INSTYPE_ENT) && (insType != IAConstant.INSTYPE_PTI)) { %>
    				,{name:"<%=UserInterface.GRID_DPW%>", 				title:"Direct Premiums Written", formatCellValue:"isc.Format.toUSString(value)"}
    				<% } %>
    		]
    });
    Datasource:
    Code:
    <DataSource ID="IAFamilyReport" serverType="generic" dataFormat="iscServer">
    	<fields>
    	    <field name="company_code"        	type="integer" 	primaryKey="true" required="true"/>
            <field name="parent_company_code"   type="integer"  foreignKey="IAFamilyReport.company_code"  rootValue="1" detail="true" required="true" />
            <field name="company_code_dis"	type="text" title="Company Code" />
            <field name="company_name"  	type="text"  title="Company Name"  width="250"	 />
            <field name="filing_type_dis"  	type="text"  width="100" title="Filing Type" />
            <field name="dpw"  				type="integer"  width="150" title="Direct Premiums Written" />
            <field name="ins_type_dis"  	type="text" />
            <field name="ins_type"  		type="integer" />
            <field name="net_assets"  		type="integer"  width="150" title="Assets" />
    	</fields>
         <serverObject lookupStyle="new" className="com.insx.isomorphic.ds.FamilyReportController" />
         <operationBindings> 
         	   <binding operationType="fetchData" serverMethod="fetchData" methodArguments="$request,$dsRequest">
               </binding>
         </operationBindings>
    </DataSource>
    I noticed someone else had the same problem, but it wasn't resolved. Have you had other reports along these lines?

    Thanks,
    S

    #2
    We haven't yet verified whether this is a bug, but, you can always export including criteria via a direct call to DataSource.exportData(). Will that work for you?

    Comment


      #3
      Unfortunately not. The datasource exports, but it ignores the styling directives in ds.xml like hidden=, title= and width=, and so the export is not presentable.

      Comment


        #4
        title is used by DataSource.exportData(). width is not taken into account by either treeGrid.exportData() or dataSource.exportData(). You can avoid exporting a hidden field by specifying dsRequest.exportFields.

        Comment


          #5
          I'm also having another problem with this treegrid. I've set
          selectionAppearance:"checkbox",
          canSelectAll:true,

          SelectionAppearance works, however, canSelectAll doesn't do anything. The select all checkbox doesn't appear in the header. It's the same code that appears on this thread, just with those two attributes. Any ideas?

          Thanks,
          S

          Comment


            #6
            I've tried canSelectAll on your online Featured Examples on the tree grid example and it doesn't work there either.

            Comment


              #7
              On canSelectAll: in the future (no ETA), we'll put a checkbox in the treeField's header for this functionality. For now, you will need an external control to do this, which should call selectAll()/deselectAll().

              Comment


                #8
                And on TreeGrid.exportData() ignoring criteria: we've fixed this and it will appear in future nightlies (and the upcoming release)

                Comment

                Working...
                X