Apr 17, 2014, 10:08 PM
[CLOSED] Unable to cast object of type System.Numerics.BigInteger to type System.IConvertible in storeSubmitDataEventArgs object
Hi,
I am trying to get the grid store data in the form of xml using storesubmitdataeventargs object. when i try to get e.Xml, it does give an exception
as attached in Exception.png - Unable to cast object of type 'System.Numerics.BigInteger' to type 'System.IConvertible'.
I think its because of the big integer numbers in the store. The attached screenshot(BigInteger.png) shows the big numbers with red colored circles.
Is it not something that ext framework handles for this type of data/ large numbers ? How can i resolve this error? And fyi, it works very well where I am able to generate e.Xml for any store data if there is no numbers with big integer Datatype.
pls advise as to how i can solve this issue.
Code: (aspx)
---------------
[
I am trying to get the grid store data in the form of xml using storesubmitdataeventargs object. when i try to get e.Xml, it does give an exception
as attached in Exception.png - Unable to cast object of type 'System.Numerics.BigInteger' to type 'System.IConvertible'.
I think its because of the big integer numbers in the store. The attached screenshot(BigInteger.png) shows the big numbers with red colored circles.
Is it not something that ext framework handles for this type of data/ large numbers ? How can i resolve this error? And fyi, it works very well where I am able to generate e.Xml for any store data if there is no numbers with big integer Datatype.
pls advise as to how i can solve this issue.
Code: (aspx)
---------------
var SubmitValue = function () {
App.Excel_Window.show();
var grid;
if (App.hdnDBView.value == undefined || App.hdnDBView.value == "")
{
grid = Ext.getCmp("InstanceTable");
}
else if (App.hdnDBView.value.toLowerCase() == "dbview")
{
grid = Ext.getCmp("DBTable");
}
grid.submitData(false, { isUpload: true });
}
var ExcelExport = function (fileName) {
var excelFile = "/OperationalControls/data/excel/" + fileName;
App.Excel_Window.close();
window.open(excelFile);
}
}
[
<ext:GridPanel ID="DBTable" runat="server" Frame="true" ForceFit="true" Hidden ="true" ButtonAlign="Left" >
<Store>
<ext:Store ID="DBTableStore" runat="server" AutoLoad="false" OnSubmitData="ExportToExcel">
<Proxy>
<ext:AjaxProxy Json="true" Url='<%#MainGridStoreURL%>' AutoDataBind="true">
<ActionMethods Read="POST" Create="POST" />
<Headers>
<ext:Parameter Name="Accept" Value="application/json" />
<ext:Parameter Name="Content-Type" Value="application/json" />
</Headers>
<ExtraParams>
<%--<ext:StoreParameter Name="DaysBack" Value="90"/> --%>
<ext:StoreParameter Name="CompType" Value="Sybase DATABASE"/>
</ExtraParams>
<Writer>
<ext:JsonWriter Root="" Encode="true" />
</Writer>
<Reader>
<ext:JsonReader Root="" />
</Reader>
</ext:AjaxProxy>
</Proxy>
<Model>
<ext:Model ID="Model12" runat="server">
<Fields>
<ext:ModelField Name="PARENT_COMPONENT_ID" Type="Int" />
<ext:ModelField Name="COMPONENT_ID" Type="Int" />
<ext:ModelField Name="METRIC_NAME" Type="String" />
<ext:ModelField Name="ENVIRONMENT" Type="String" />
<ext:ModelField Name="COMPONENT_NAME" Type="String" />
<ext:ModelField Name="UNIT" Type="String" />
<ext:ModelField Name="PERC_USED" Type="Float" />
<ext:ModelField Name="PERC_GROWTH" Type="Float" />
<ext:ModelField Name="CAPACITY" Type="Float" />
<ext:ModelField Name="USED" Type="Float" />
<ext:ModelField Name="FREE" Type="Float" />
<ext:ModelField Name="EXPECTED_MAX_DATE" Type="String" >
<%-- <Convert Handler="return Ext.util.Format.date(value, 'M d Y');" />--%>
</ext:ModelField>
<ext:ModelField Name="PEAK" Type="Float" />
<ext:ModelField Name="PEAK_DATE" Type="String">
<%-- <Convert Handler="return Ext.util.Format.date(value, 'M d Y');" />--%>
</ext:ModelField>
<ext:ModelField Name="LAST_WEEK_PEAK" Type="Float" />
<ext:ModelField Name="LAST_7_DAY_INCR" Type="Float" />
<ext:ModelField Name="CAPACITY_NEED_6_MON" Type="Float" />
<ext:ModelField Name="USED_1_MON" Type="Float" />
<ext:ModelField Name="USED_6_MON" Type="Float" />
<ext:ModelField Name="LAST_UPDATED" Type="String" >
<%-- <Convert Handler="return Ext.util.Format.date(value, 'M d Y');" />--%>
</ext:ModelField>
<ext:ModelField Name="WEEKS_OF_DATA" Type="Int" />
</Fields>
</ext:Model>
</Model>
<Listeners>
<BeforeLoad Handler="Ext.getCmp('DBTable').body.mask('Loading...', 'x-mask-loading'); App.btnExportInstances.disable();" Delay="100"/>
<Load Fn="getDistinctforColumnsDBGrid" />
<Refresh Handler="Ext.getCmp('DBTable').body.unmask();" />
<%--<Load Handler="applyFilter('DBTable');" Buffer="250" />--%>
</Listeners>
</ext:Store>
</Store>
<Plugins>
<ext:BufferedRenderer ID="BufferedRenderer2" runat="server" />
</Plugins>
<ColumnModel ID="DBase" runat="server" >
<Columns>
<ext:ImageCommandColumn ID="ViewGraphDB" runat="server" Width="45" >
<Commands>
<ext:ImageCommand Icon="ChartCurve" CommandName="ViewGraph" ToolTip-Text ="View Graph"/>
</Commands>
<Listeners>
<Command Handler="#{PopUpWindow}.show();" />
</Listeners>
</ext:ImageCommandColumn>
<ext:Column ID="Column8" runat="server" Text="Environment" DataIndex="ENVIRONMENT" Width="150" Selectable="true" Align="Center"
>
<HeaderItems>
<ext:ComboBox
ID="cboDBEnvt"
runat="server"
Icon="Magnifier"
TriggerAction="All"
QueryMode="Local"
DisplayField="ENVIRONMENT"
ValueField="ENVIRONMENT">
<Listeners>
<Change Handler="filterApply();" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton25" runat="server" />
</Plugins>
</ext:ComboBox>
</HeaderItems>
</ext:Column>
<ext:Column ID="Column4" runat="server" Text="Component Name" DataIndex="COMPONENT_NAME" Width="225" Selectable="true" Align="Center"
>
<HeaderItems>
<ext:TextField
ID="txtDBCompName"
runat="server"
Icon="Magnifier"
>
<Listeners>
<Change Handler="filterApply();" Buffer="250" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton5" runat="server" />
</Plugins>
</ext:TextField>
</HeaderItems>
</ext:Column>
<ext:Column ID="Column5" runat="server" Text="Metric Name" DataIndex="METRIC_NAME" Width="150" Align="Center"
>
<HeaderItems>
<ext:ComboBox
ID="cboDBMetricName"
runat="server"
Icon="Magnifier"
TriggerAction="All"
QueryMode="Local"
DisplayField="METRIC_NAME"
ValueField="METRIC_NAME">
<Listeners>
<Change Handler="filterApply();" Buffer="250" />
</Listeners>
<%-- <Plugins>
<ext:ClearButton ID="ClearButton6" runat="server" />
</Plugins>--%>
</ext:ComboBox>
</HeaderItems>
</ext:Column>
<ext:ComponentColumn ID="ComponentColumn2" runat="server" Text="% Used" Align="Center" DataIndex="PERC_USED" Width="100">
<Component>
<ext:ProgressBar ID="ProgressBar1" runat="server">
</ext:ProgressBar>
</Component>
<Listeners>
<Bind Handler="cmp.updateProgress((record.get('PERC_USED')/100).toFixed(2), record.get('PERC_USED')+'%')" />
</Listeners>
</ext:ComponentColumn>
<ext:Column ID="Column6" runat="server" Text="Capacity<br>(MB)" DataIndex="CAPACITY" Width="100" Align="Center"
/>
<ext:Column ID="Column22" runat="server" Text="Used<br>(MB)" DataIndex="USED" Width="100" Align="Center"
/>
<ext:Column ID="Column23" runat="server" Text="Free<br>(MB)" DataIndex="FREE" Width="100" Align="Center"
/>
<ext:Column ID="Column24" runat="server" Text="Expected<br>Max Date" DataIndex="EXPECTED_MAX_DATE" Width="200" Align="Center"
>
<Renderer Fn="RenderColor" />
<HeaderItems>
<ext:DateField ID="dtDBFilter" runat="server" Editable="false">
<Listeners>
<Change Handler="filterApply();" />
</Listeners>
<Plugins>
<ext:ClearButton ID="ClearButton4" runat="server" />
</Plugins>
</ext:DateField>
</HeaderItems>
</ext:Column>
<ext:Column ID="Column26" runat="server" Text="% Growth<br>Rate" Align="Center" DataIndex="PERC_GROWTH" Width="110"
>
<Renderer Handler="return Ext.String.format(record.get('PERC_GROWTH') != 0 ?record.get('PERC_GROWTH').toFixed(2)+'%' : '0 %') "/>
</ext:Column>
<ext:Column ID="Column27" runat="server" Text="Peak<br>(MB)" DataIndex="PEAK" Align="Center" Width="100"
/>
<ext:Column ID="Column28" runat="server" Text="Last Week<br>Peak<br>(MB)" DataIndex="LAST_WEEK_PEAK" Align="Center" Width="120"
/>
<ext:Column ID="Column29" runat="server" Text="Date of<br>Peak" DataIndex="PEAK_DATE" Width="150" Align="Center"
>
<Renderer Fn="TrimText" />
</ext:Column>
<ext:Column ID="Column30" runat="server" Text="Last 7 Days<br>Increase<br>(MB)" Align="Center" DataIndex="LAST_7_DAY_INCR" Width="120"
/>
<ext:Column ID="Column31" runat="server" Text="Capacity Needed<br>for 6 Months<br>(MB)" Align="Center" DataIndex="CAPACITY_NEED_6_MON" Width="170"
>
<Renderer Handler="return Ext.String.format(record.get('CAPACITY_NEED_6_MON').toFixed(2)) "/>
</ext:Column>
<ext:Column ID="Column32" runat="server" Text="Used in<br>1 Month<br>(MB)" Align="Center" DataIndex="USED_1_MON" Width="150"
/>
<ext:Column ID="Column33" runat="server" Text="Used in<br>6 Months<br>(MB)" Align="Center" DataIndex="USED_6_MON" Width="150"
/>
<ext:Column ID="Column34" runat="server" Text="# Weeks Of<br>Data" DataIndex="WEEKS_OF_DATA" Align="Center" Width="130"
/>
<ext:Column ID="Column35" runat="server" Text="Last Updated" DataIndex="LAST_UPDATED" Width="150" Align="Center"
>
<Renderer Fn="TrimText" /></ext:Column>
</Columns>
</ColumnModel>
<SelectionModel>
<ext:CellSelectionModel ID="CellSelectionModel22" runat="server" />
</SelectionModel>
<View>
<ext:GridView ID="GridView33" runat="server" >
<Listeners>
<Refresh Handler="#{DBTable}.body.unmask();" />
</Listeners>
</ext:GridView>
</View>
<%-- <Buttons>
<ext:Button ID="GoBacktoInstance" runat="server" Icon="ArrowLeft" Text="Back to Instance View">
<DirectEvents>
<Click OnEvent="goBacktoInstanceView">
</Click>
</DirectEvents>
</ext:Button>
</Buttons>--%>
</ext:GridPanel>
protected void ExportToExcel(object sender, StoreSubmitDataEventArgs e)
{
XmlNode xml = e.Xml; // ********** Here is where the exception occurs ( screenshot attached)
}
Last edited by Daniil; May 06, 2014 at 7:06 AM.
Reason: [CLOSED]