私には特有の問題があり、誰かが以前にこの問題に遭遇したかどうかはわかりません。ただし、問題は次のようになります。
TemplateColumnsとBoundColumnsを組み合わせたグリッドがあり、テンプレート列の下のフィルターを使用してグリッドをフィルター処理すると、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);
}
}
ありがとう、プリーサム。