This is a migrated thread and some comments may be shown as answers.

Object must implement IConvertible

1 Answer 765 Views
Grid
This is a migrated thread and some comments may be shown as answers.
Ronan BARRANGER
Top achievements
Rank 1
Ronan BARRANGER asked on 02 Mar 2012, 11:53 AM
Greetings,
I'm currently facing a problem while trying to populate my grid.
Its datasource is basically an Object Data Source like this:

    <telerik:RadGrid ID="RadGrid1" runat="server" DataSourceID="ObjectDataSource1">
<MasterTableView AutoGenerateColumns="False" DataSourceID="ObjectDataSource1">
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
 
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
    <Columns>
        <telerik:GridBoundColumn DataField="TitleChoiceIncident"
            HeaderText="TitleChoiceIncident" ReadOnly="True"
            SortExpression="TitleChoiceIncident" UniqueName="TitleChoiceIncident">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="ValueChoiceIncident"
            HeaderText="ValueChoiceIncident" ReadOnly="True"
            SortExpression="ValueChoiceIncident" UniqueName="ValueChoiceIncident">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idAgir" DataType="System.Int32"
            HeaderText="idAgir" SortExpression="idAgir" UniqueName="idAgir">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idUtilisateur" DataType="System.Int32"
            HeaderText="idUtilisateur" SortExpression="idUtilisateur"
            UniqueName="idUtilisateur">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idEmetteur" DataType="System.Int32"
            HeaderText="idEmetteur" SortExpression="idEmetteur" UniqueName="idEmetteur">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idTypeAction" DataType="System.Int32"
            HeaderText="idTypeAction" SortExpression="idTypeAction"
            UniqueName="idTypeAction">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idEntreprise" DataType="System.Int32"
            HeaderText="idEntreprise" SortExpression="idEntreprise"
            UniqueName="idEntreprise">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idFamille" DataType="System.Int32"
            HeaderText="idFamille" SortExpression="idFamille" UniqueName="idFamille">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idProjet" DataType="System.Int32"
            HeaderText="idProjet" SortExpression="idProjet" UniqueName="idProjet">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idGroupeContact" DataType="System.Int32"
            HeaderText="idGroupeContact" SortExpression="idGroupeContact"
            UniqueName="idGroupeContact">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idOrdinateur" DataType="System.Int32"
            HeaderText="idOrdinateur" SortExpression="idOrdinateur"
            UniqueName="idOrdinateur">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idParent" DataType="System.Int32"
            HeaderText="idParent" SortExpression="idParent" UniqueName="idParent">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idEtatIncident" DataType="System.Int32"
            HeaderText="idEtatIncident" SortExpression="idEtatIncident"
            UniqueName="idEtatIncident">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idSousCategorie" DataType="System.Int32"
            HeaderText="idSousCategorie" SortExpression="idSousCategorie"
            UniqueName="idSousCategorie">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="date" HeaderText="date"
            SortExpression="date" UniqueName="date">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="heure" HeaderText="heure"
            SortExpression="heure" UniqueName="heure">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="durée" HeaderText="durée"
            SortExpression="durée" UniqueName="durée">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="priorite" DataType="System.Int32"
            HeaderText="priorite" SortExpression="priorite" UniqueName="priorite">
        </telerik:GridBoundColumn>
        <telerik:GridCheckBoxColumn DataField="blocage" DataType="System.Boolean"
            HeaderText="blocage" SortExpression="blocage" UniqueName="blocage">
        </telerik:GridCheckBoxColumn>
        <telerik:GridCheckBoxColumn DataField="fait" DataType="System.Boolean"
            HeaderText="fait" SortExpression="fait" UniqueName="fait">
        </telerik:GridCheckBoxColumn>
        <telerik:GridCheckBoxColumn DataField="facturable" DataType="System.Boolean"
            HeaderText="facturable" SortExpression="facturable" UniqueName="facturable">
        </telerik:GridCheckBoxColumn>
        <telerik:GridCheckBoxColumn DataField="alerterAgir" DataType="System.Boolean"
            HeaderText="alerterAgir" SortExpression="alerterAgir" UniqueName="alerterAgir">
        </telerik:GridCheckBoxColumn>
        <telerik:GridBoundColumn DataField="dateRappel" DataType="System.DateTime"
            HeaderText="dateRappel" SortExpression="dateRappel" UniqueName="dateRappel">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="descriptionAgir"
            HeaderText="descriptionAgir" SortExpression="descriptionAgir"
            UniqueName="descriptionAgir">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="cheminFichier" HeaderText="cheminFichier"
            SortExpression="cheminFichier" UniqueName="cheminFichier">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="objet" HeaderText="objet"
            SortExpression="objet" UniqueName="objet">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="lieu" HeaderText="lieu"
            SortExpression="lieu" UniqueName="lieu">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="dateSaisit" DataType="System.DateTime"
            HeaderText="dateSaisit" SortExpression="dateSaisit" UniqueName="dateSaisit">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="dateAgir" DataType="System.DateTime"
            HeaderText="dateAgir" SortExpression="dateAgir" UniqueName="dateAgir">
        </telerik:GridBoundColumn>
        <telerik:GridCheckBoxColumn DataField="isAgenda" DataType="System.Boolean"
            HeaderText="isAgenda" SortExpression="isAgenda" UniqueName="isAgenda">
        </telerik:GridCheckBoxColumn>
        <telerik:GridCheckBoxColumn DataField="isAgendaPerso" DataType="System.Boolean"
            HeaderText="isAgendaPerso" SortExpression="isAgendaPerso"
            UniqueName="isAgendaPerso">
        </telerik:GridCheckBoxColumn>
        <telerik:GridCheckBoxColumn DataField="isIncidentGen" DataType="System.Boolean"
            HeaderText="isIncidentGen" SortExpression="isIncidentGen"
            UniqueName="isIncidentGen">
        </telerik:GridCheckBoxColumn>
        <telerik:GridBoundColumn DataField="dateDebut" DataType="System.DateTime"
            HeaderText="dateDebut" SortExpression="dateDebut" UniqueName="dateDebut">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="dateEtatIncident"
            DataType="System.DateTime" HeaderText="dateEtatIncident"
            SortExpression="dateEtatIncident" UniqueName="dateEtatIncident">
        </telerik:GridBoundColumn>
        <telerik:GridCheckBoxColumn DataField="isPause" DataType="System.Boolean"
            HeaderText="isPause" SortExpression="isPause" UniqueName="isPause">
        </telerik:GridCheckBoxColumn>
        <telerik:GridBoundColumn DataField="idTypeDemande" DataType="System.Int32"
            HeaderText="idTypeDemande" SortExpression="idTypeDemande"
            UniqueName="idTypeDemande">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="TempsEstime" HeaderText="TempsEstime"
            SortExpression="TempsEstime" UniqueName="TempsEstime">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="Acceptation" HeaderText="Acceptation"
            SortExpression="Acceptation" UniqueName="Acceptation">
        </telerik:GridBoundColumn>
        <telerik:GridCheckBoxColumn DataField="Accord" DataType="System.Boolean"
            HeaderText="Accord" SortExpression="Accord" UniqueName="Accord">
        </telerik:GridCheckBoxColumn>
        <telerik:GridBoundColumn DataField="DerniereDateModif"
            DataType="System.DateTime" HeaderText="DerniereDateModif"
            SortExpression="DerniereDateModif" UniqueName="DerniereDateModif">
        </telerik:GridBoundColumn>
        <telerik:GridBoundColumn DataField="idExchange" HeaderText="idExchange"
            SortExpression="idExchange" UniqueName="idExchange">
        </telerik:GridBoundColumn>
                        <telerik:GridTemplateColumn AllowFiltering="false" UniqueName="ImageColumnValider">
                    <ItemTemplate>
                        <asp:ImageButton ID="ImageButtonValidation" runat="server" ImageUrl="~/img/validation.gif"
                            CommandName="Submit" CommandArgument='<%#Eval("idAgir")%>' ToolTip="Valider le ticket"
                            OnClick="Submit_Click" OnClientClick="return confirm('Êtes vous sûr de vouloir valider ce ticket?');" />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
                <telerik:GridTemplateColumn AllowFiltering="false" UniqueName="ImageColumnDecliner">
                    <ItemTemplate>
                        <asp:ImageButton ID="ImageButtonDecliner" runat="server" ImageUrl="~/img/croix.png"
                            CommandName="Decline" CommandArgument='<%#Eval("idAgir")%>' ToolTip="Décliner la proposition"
                            OnClick="Decline_Click" OnClientClick="return confirm('Êtes vous sûr de vouloir décliner la proposition?');" />
                    </ItemTemplate>
                </telerik:GridTemplateColumn>
    </Columns>
</MasterTableView>
 
<HeaderContextMenu EnableAutoScroll="True"></HeaderContextMenu>
    </telerik:RadGrid>
 
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
        OldValuesParameterFormatString="original_{0}"
        SelectMethod="GetNewAgirsByClient" TypeName="DBAccess.DAOAgir">
        <SelectParameters>
            <asp:SessionParameter Name="idContact" SessionField="contact" Type="Int32" />
        </SelectParameters>
    </asp:ObjectDataSource>

I get this error. I don't understand why.
Thanks in advance for your help.

1 Answer, 1 is accepted

Sort by
0
Accepted
Antonio Stoilkov
Telerik team
answered on 07 Mar 2012, 09:26 AM
Hello Ronan,

Your issue could be caused from setting wrong DataType for particular data field. The .NET Framework is trying to cast the type and searching for IConvertable interface and throws the exception. In order to resolve your issue you should isolate which column is the problematic and correct the DataType. Note that based on the provided code it is hard to determine which column causes the problem because it is not known the types coming from the ObjectDataSource.

All the best,
Antonio Stoilkov
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
Tags
Grid
Asked by
Ronan BARRANGER
Top achievements
Rank 1
Answers by
Antonio Stoilkov
Telerik team
Share this question
or