我正在尝试实现与此海报相同的目标,并且我正在关注其中一个答案所说的我需要做的事情。
这是我的方法
public void DisplayItemRangeForCurrentPage()
{
var totalRecords = ((DataView)gvMagicalSearchResults.DataSource).Count;
var endRecord = gvMagicalSearchResults.PageSize * (gvMagicalSearchResults.PageIndex + 1);
var startsRecods = endRecord - gvMagicalSearchResults.PageSize;
if (endRecord > totalRecords)
endRecord = totalRecords;
if (startsRecods == 0) startsRecods = 1;
if (endRecord == 0) endRecord = totalRecords;
var str = new StringBuilder();
str.Append((string)HttpContext.GetGlobalResourceObject("magicalResx", "GrivSearchCountMessage_Shows"));
str.Append(" " + startsRecods + " - " + endRecord + " ");
str.Append((string)HttpContext.GetGlobalResourceObject("magicalResx", "GrivSearchCountMessage_OfTotal"));
str.Append(" " + totalRecords + " ");
ltrResultsCount.Text = str.ToString();
}
无论我在哪里调用此方法,它都会在var totalRecords = ((DataView)gvMagicalSearchResults.DataSource).Count;
在行上引发“对象未设置为对象的实例”错误。
我尝试在几个 GridView/ObjectDataSource 事件中调用它。我尝试将其称为PreRender
, OnLoad
, Render
- 唉,他们都没有工作......
那么谁能告诉我gridview在事件周期中的哪个位置获取它的数据源?