に表示されるデータは、私がのObjectDataSource及び(.NET3.5/W VS2008を使用して)以下に示すような構成のGridViewを有していない。のObjectDataSourceページング - > GridViewの
<asp:ObjectDataSource ID="odsMainData" runat="server" EnablePaging="True" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetMainData" TypeName="ErrorViewer.Model.ErrorViewModel"
SelectCountMethod="CountMainData">
<SelectParameters>
<asp:Parameter Name="maximumRows" Type="Int32" />
<asp:Parameter Name="startRowIndex" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="grdMainData" runat="server" AllowPaging="True" DataSourceID="odsMainData" PageSize="15" AllowSorting="True">
</asp:GridView>
に何らのEventHandlerまたは他のコードがありません。 GridViewの又は
だから下地クラス "ErrorViewModel" の方法があるデータソースの背後にあるコード: パブリックデータテーブルGetMainData(){ するvar DT = provider.MainData()。 myMainData = dt; return dt; }私が欲しいもの
public DataTable GetMainData(int maximumRows, int startRowIndex)
{
var dt = provider.MainData();
myMainData = dt;
return dt;
}
public long CountMainData()
{
var count = provider.GetMainDataCount();
return count;
}
public long CountMainData(int maximumRows, int startRowIndex)
{
var count = CountMainData();
return count;
}
:カスタムサーバーサイドページング。 問題: データソースでEnablePaging = trueを設定すると、gridviewにデータが表示されません。 EnablePagingがfalseに設定されている場合は、データが表示されます。ご覧のとおり、データを取得する2つの方法はまったく同じです。 デバッグでは、EnablePaging = trueを使用したときに返される行があることが示されています。 (EnablePaging =真を使用して) もう奇妙なこと:GetMainData maximumRowsで がCountMainData maximumRowsに0 にstartRowIndex 15にして設定されているが、私は別のカスタムページングのこのタイプを実装しました0
にstartRowIndex 0にして設定されています同じ設定をしましたが、今度はこの奇妙な動作にあります。私の実装で何が間違っていますか?私はちょっとした設定を忘れましたか?助言がありますか?
あなたの質問を解決済みとしてマークするには、この回答を解決策にマークしてください(チェックマークをクリックしてください)。 – eckes
「Long」はレコード数の有効な戻り値ではないというのは心苦しいです。これを指摘してくれてありがとう...そして答えとしてマークしてください。 – cjbarth
@ user855601この問題の解決策を見つけるために、グリッドとオブジェクトデータソースを別々に破るのに8時間を費やすだけです。答えをありがとう! –