我有一个Gridview,可以显示搜索查询的分页结果。我遇到的问题是gridview没有显示从查询返回的所有结果。例如,我可以单步执行代码并查看调用GetList()返回的6个项目,但绑定后gridview只会呈现2行。
我正在使用在代码中创建的ObjectDataSource:
ObjectDataSource ods = new ObjectDataSource();
ods.EnablePaging = true;
ods.TypeName = "Bll.InvestmentProductSvc";
ods.DataObjectTypeName = "Bll.InvestmentProduct";
ods.SelectMethod = "GetList";
ods.SelectCountMethod = "GetListCount";
ods.StartRowIndexParameterName = "PageIndex";
ods.MaximumRowsParameterName = "PageSize";
ods.EnableViewState = false;
ods.SelectParameters.Add (new Parameter("SearchString",TypeCode.String, SearchString));
ods.SelectParameters.Add(new Parameter("PageIndex", TypeCode.Int32));
ods.SelectParameters.Add(new Parameter("PageSize", TypeCode.Int32, gvSearchResults.PageSize.ToString()));
gvSearchResults.DataSource = ods;
gvSearchResults.DataBind();
Gridview声明:
<asp:GridView ID="gvSearchResults" runat="server" AutoGenerateColumns="False" AllowPaging="true" PageIndex="0" PageSize="50" OnPageIndexChanging="gvSearchResults_PageIndexChanging" PagerSettings-Position="TopAndBottom">
</asp:GridView>
是否有任何理由让Gridview不呈现行而不来报告错误? 我已经检查了6个项目的返回数据,但是在显示的2行和未显示的4行之间找不到任何明显的差异。
答案 0 :(得分:1)
检查返回的行数:
ods.SelectCountMethod = "GetListCount";