我有一个特殊的问题,我不确定之前是否有人遇到过这个问题。但是问题是这样的..
我有一个包含 TemplateColumns 和 BoundColumns 组合的网格,当我使用模板列下的过滤器过滤网格时,我可以在 UI(网格)中看到结果,但是当我在 BoundColumns 中执行相同操作时,我看不到任何结果.. !! !
有趣的是我可以看到查询的输出,它从数据库返回正确数量的结果。并且它也在 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);
}
}
谢谢,普雷瑟姆。