Telerik RadGrid显示“一个;“没有要显示的记录”;当有记录时

Telerik RadGrid显示“一个;“没有要显示的记录”;当有记录时,telerik,radgrid,Telerik,Radgrid,我有一个特殊的问题,我不确定是否有人在早些时候遇到过这个问题。然而问题是这样的 我有一个由TemplateColumns和BoundColumns组合而成的网格,当我使用TemplateColumns下的过滤器过滤网格时,我可以在UI(网格)中看到结果,但当我在BoundColumns中执行相同操作时,我看不到任何结果 有趣的是,我可以看到查询的输出,它从DB返回正确数量的结果。并且它也在NeedDataSource事件中分配给GridDataSource。但是,我在ItemDataBoundI

我有一个特殊的问题,我不确定是否有人在早些时候遇到过这个问题。然而问题是这样的

我有一个由TemplateColumns和BoundColumns组合而成的网格,当我使用TemplateColumns下的过滤器过滤网格时,我可以在UI(网格)中看到结果,但当我在BoundColumns中执行相同操作时,我看不到任何结果

有趣的是,我可以看到查询的输出,它从DB返回正确数量的结果。并且它也在NeedDataSource事件中分配给GridDataSource。但是,我在ItemDataBoundItem中找不到GridDataItem,只能获取headeritem、filteritem和footeritem

即使有很多记录分配给数据源,它也会显示“没有要显示的记录”。 这里我附上了一个屏幕截图,在这里你可以看到记录计数被显示,但记录却没有显示出来

非常感谢您的帮助

下面是代码示例

<ps:MassApprovalAjaxPanel runat="server" ID="m_UIRadAjaxPanel" LoadingPanelID="m_UIAsynBindLoadPanelInMasterPage">
    <ps:MassApprovalRadGrid
        runat="server"
        ID="m_UIListingGrid"
        SkinID="Grid_MassApproval"
        OnNeedDataSource="ListingGrid_NeedDataSource"
        OnItemDataBound="ListingGrid_ItemDataBound"
        AllowFilteringByColumn="true"
        EnableViewState="true">
        <MasterTableView
            DataKeyNames="CardID, WeekEnding, ClientPONumber"
            ShowFooter="true">
            <Columns>
                <ps:NumericTextBoxTemplateColumn
                    UniqueName="CardID"
                    Width="70"
                    RelativeWidthRatio="90">
                    <ItemTemplate>
                        <asp:Label
                            runat="server"
                            Text='<%# string.Format("{0}/{1}", Eval(Constants.CARD_ID), Eval(Constants.VERSION)) %>' />
                    </ItemTemplate>            
                </ps:NumericTextBoxTemplateColumn>

                <ps:TextBoxBoundColumn
                    UniqueName="ClientPONumber"
                    DataField="ClientPONumber"
                    Width="60"
                    RelativeWidthRatio="80" />
                <telerik:GridClientSelectColumn UniqueName="SelectAll" HeaderText="All" />
            </Columns>
        </MasterTableView>
    </ps:MassApprovalRadGrid>
</ps:MassApprovalAjaxPanel>



protected void ListingGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    m_UIListingGrid.DataSource = RadGridUtilUI.MassApprovalResultsGet();
}

protected void ListingGrid_ItemDataBound(object sender, GridItemEventArgs e)
{
    GridDataItem gridDataItem = e.Item as GridDataItem;
    if (gridDataItem != null)
    {
        AddClientScripts(gridDataItem);
    }
}

受保护的无效列表Grid_NeedDataSource(对象发送方,GridNeedDataSourceEventArgs e)
{
m_UIListingGrid.DataSource=RadGridUtilUI.MassApprovalResultsGet();
}
受保护的无效列表Grid_ItemDataBound(对象发送方,GridItemEventArgs e)
{
GridDataItem GridDataItem=e.项作为GridDataItem;
if(gridDataItem!=null)
{
AddClientScripts(gridDataItem);
}
}
谢谢,
Preetham。

我找到了解决此问题的方法,非常简单明了,但我们没有注意到

protected void ListingGrid_NeedDataSource(object sender, GridNeedDataSourceEventArgs e)
{
    m_UIListingGrid.MasterTableView.FilterExpression = string.Empty;
    m_UIListingGrid.DataSource = RadGridUtilUI.MassApprovalResultsGet();
}
Telerik有两种类型的过滤,即内置过滤和用户定义过滤,我们通过SP和代码进行过滤。因此,在进行自定义筛选之前,我们必须将筛选值设置为null

将此标记为答案

谢谢,
Preetham.

什么时候应该不显示记录?你能提供一些你的代码吗?我已经在Sora上面添加了示例代码。