telerik - RadGrid有记录时显示 "No records to display"

标签 telerik radgrid

我有一个特殊的问题,我不确定是否有人之前遇到过这个问题。然而问题是这样的..

我有一个包含 TemplateColumns 和 BoundColumns 组合的网格,当我使用模板列下的过滤器过滤网格时,我可以在 UI(网格)中看到结果,但当我在 BoundColumns 中执行相同操作时,我看不到任何结果。 . !!!

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

即使有很多记录分配给数据源,它也会显示“没有可显示的记录”。 这里我附上屏幕截图,您可以看到显示了记录数,但没有显示记录..!!

NO Records

非常感谢任何帮助。

这是代码示例

<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);
    }
}

谢谢, 普利瑟姆。

最佳答案

我找到了这个问题的解决方案,它非常简单直接,但我们没有注意到。

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

Telerik 有两种类型的过滤,即内置过滤和用户定义的过滤,我们通过 SP 和代码进行过滤。因此,在进行自定义过滤之前,我们始终必须将过滤器值设置为 null。

将此标记为答案。

谢谢, 普利瑟姆。

关于telerik - RadGrid有记录时显示 "No records to display",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12089880/

相关文章:

c# - 删除 RadGrid 中的第 11 行使其变为空白

jquery - jQuery/jQuery UI 和 Sitefinity 4.0 的问题

javascript - 如何从 Kendo UI 模板获取值

jquery - kendo ui multiselect 获取已选择值的名称

asp.net - RadGrid 自定义过滤器

c# - 是否可以使用 C#/WPF 控制 Telerik RadPropertyGrid 的可见性?

linq - 自动生成的 sql 代码 : single backslash as an escape character is failing

c# - RadGridView 模板选择器

telerik - 在 RadGrid 中,我们如何合并 2 个数据列仅用于查看,但仍然可以单独编辑它们?

c# - 手动更新 RADGrid