I have a Gridview that displays paged results from a search query. The problem I am having is that the gridview is not displaying all the results returned from the query. For example, I can step through the code and see 6 items returned by the call to GetList(), but only 2 rows get rendered by the gridview after binding.
I am using an ObjectDataSource created in code:
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();
The Gridview declaration:
<asp:GridView ID="gvSearchResults" runat="server" AutoGenerateColumns="False" AllowPaging="true" PageIndex="0" PageSize="50" OnPageIndexChanging="gvSearchResults_PageIndexChanging" PagerSettings-Position="TopAndBottom">
</asp:GridView>
Are there any reasons for the Gridview not to render a row and not to report an error? I have examined the data returned for the 6 items and cannot find any distinctive differences between the 2 rows displayed and the 4 rows not displayed.