locked
I get 'System.Data.DataRowView' instead of the real value in a column RRS feed

  • Question

  • User627301842 posted

    This was the previous code  in asp.net 

        <radG:RadGrid ID="uxUsers" runat="server" RadControlsDir="~/RadControls/" AllowPaging="False"  HorizontalAlign="NotSet">        
            <MasterTableView AllowMultiColumnSorting="True" AllowSorting="True" ShowFooter="False" AutoGenerateColumns="False">           
                <Columns>
                    <radG:GridBoundColumn DataField="name" HeaderText="Name" ReadOnly="True" UniqueName="name" />        
                    <radG:GridBoundColumn DataField="email" HeaderText="Email" ReadOnly="True" UniqueName="email" /> 
    
                    <radG:GridTemplateColumn HeaderText="Email Verified" HeaderStyle-HorizontalAlign="center" ItemStyle-HorizontalAlign="Center">
                        <ItemTemplate>
                            <asp:Literal ID="litEmailVerified" runat="server" Text='<%#Eval("emailverified") %>' />&nbsp;&nbsp;<asp:LinkButton ID="uxResend" runat="server" Text="Resend" CommandName="Resend" CommandArgument='<%# Eval("ID") %>' Visible='<%#(Eval("emailverified") <> "Yes")%>'/>&nbsp;&nbsp;<asp:LinkButton ID="uxOverried" runat="server" Text="Override" CommandName="Override" CommandArgument='<%# Eval("Id") %>' Visible='<%#(Eval("emailverified") <> "Yes")%>'/>
                        </ItemTemplate>
                    </radG:GridTemplateColumn>
                    <radG:GridHyperLinkColumn AllowFiltering="False" DataNavigateUrlField="id" DataNavigateUrlFormatString="edituser.aspx?id={0}" Reorderable="False" Text="Edit" ItemStyle-Width="70px" />
                </Columns>
            </MasterTableView>
        </radG:RadGrid>

        Private Sub BindEmployerUsers()
    
            uxUsers.DataSource = DB.GetData("query") 
            uxUsers.DataBind()
    
        End Sub

    then I added a new column named primary user.

    and edited the code like 

        <radG:RadGrid ID="uxUsers" runat="server" RadControlsDir="~/RadControls/" AllowPaging="False"  HorizontalAlign="NotSet">        
            <MasterTableView AllowMultiColumnSorting="True" AllowSorting="True" ShowFooter="False" AutoGenerateColumns="False">           
                <Columns>
                    <radG:GridBoundColumn DataField="name" HeaderText="Name" ReadOnly="True" UniqueName="name" />        
                    <radG:GridBoundColumn DataField="email" HeaderText="Email" ReadOnly="True" UniqueName="email" /> 
                    <radG:GridBoundColumn DataField="primaruser" HeaderText="PrimarUser" ReadOnly="True" UniqueName="PrimarUser" /> 
    
                    <radG:GridTemplateColumn HeaderText="Email Verified" HeaderStyle-HorizontalAlign="center" ItemStyle-HorizontalAlign="Center">
                        <ItemTemplate>
                            <asp:Literal ID="litEmailVerified" runat="server" Text='<%#Eval("emailverified") %>' />&nbsp;&nbsp;<asp:LinkButton ID="uxResend" runat="server" Text="Resend" CommandName="Resend" CommandArgument='<%# Eval("ID") %>' Visible='<%#(Eval("emailverified") <> "Yes")%>'/>&nbsp;&nbsp;<asp:LinkButton ID="uxOverried" runat="server" Text="Override" CommandName="Override" CommandArgument='<%# Eval("Id") %>' Visible='<%#(Eval("emailverified") <> "Yes")%>'/>
                        </ItemTemplate>
                    </radG:GridTemplateColumn>
                    <radG:GridHyperLinkColumn AllowFiltering="False" DataNavigateUrlField="id" DataNavigateUrlFormatString="edituser.aspx?id={0}" Reorderable="False" Text="Edit" ItemStyle-Width="70px" />
                </Columns>
            </MasterTableView>
        </radG:RadGrid>

    and

        Private Sub BindEmployerUsers()
    
            uxUsers.DataSource = DB.GetData("new query")
            uxUsers.DataBind()
    
        End Sub

    but i get System.Data.DataRowView instead of real value.The query works fine and i get the correct result when run it in query manager .

    the new query is 

    SELECT  eu.id, u.email, u.name + ' ' + u.surname AS name,  CASE WHEN eu.id=e.primaryemployeruserid  THEN 'yes' ELSE 'No' END AS PrimaryUser, CASE WHEN u.emailverified IS NULL THEN 'No' ELSE 'Yes' END AS emailverified, u.active FROM Employer e INNER JOIN EmployerUser eu on e.id=eu.employerid INNER JOIN [User] u ON eu.userid = u.id WHERE u.deleted = 0 AND  eu.employerid = " & Employer.ID

     

    how to fix it 

    Tuesday, May 17, 2016 11:54 AM

Answers

  • User36583972 posted

    Hi bashabisarker,

    This issue may be can appear when the DataField value of the column does not match the source column name.

    From your new query string, I found primaruser DataField is not match with the new query string (PrimaryUser). So you will get the 'System.Data.DataRowView' instead of the real value.

    Best Regards,

    Yohann Lu

    • Marked as answer by Anonymous Thursday, October 7, 2021 12:00 AM
    Wednesday, May 18, 2016 9:40 AM