【发布时间】:2014-07-07 19:49:01
【问题描述】:
所以,我尝试使用 RadGrid 控件显示类似“显示 100 个中的 1-20 个”的内容。我将以下代码放在 RadGrid1_PageIndexChanged 事件中:
int showingRowsFrom = ((e.NewPageIndex + 1) * rgResults.PageSize) - rgResults.PageSize + 1;
int showingRowsTo;
if ((e.NewPageIndex + 1) == rgResults.PageCount)
{
showingRowsTo = GridSource.Tables[0].Rows.Count;
}
else
{
showingRowsTo = (e.NewPageIndex + 1) * rgResults.PageSize;
}
string rowCount = string.Format("Displaying {0}-{1} of {2}", showingRowsFrom, showingRowsTo, GridSource.Tables[0].Rows.Count);
lblResultsCountBottom.Text = lblResultsCountTop.Text = rowCount;
不幸的是,看起来这并没有进行完整的回发,并且标签最终也没有得到更新。我该怎么做呢?我尝试在客户端进行操作,但也遇到了问题。它说 $find 是未定义的。
$(document).ready(function () {
var grid = $find("<%=rgResults.ClientID%>");
var mtv = grid.get_masterTableView();
var pageIndex = mtv.get_currentPageIndex();
alert(pageIndex);
});
这是 radgrid 代码:
<radG:RadGrid ID="rgResults" runat="server" AllowMultiRowSelection="True" AllowPaging="True"
AllowSorting="True" EnableAJAX="False" GridLines="None" OnItemCommand="rgResults_ItemCommand" OnItemDataBound="rgResults_ItemDataBound"
PageSize="20"
Skin="Default" Width="100%" OnPageIndexChanged="rgResults_PageIndexChanged" OnSortCommand="rgResults_SortCommand" OnInit="rgResults_Init" OnPreRender="rgResults_PreRender">
<ClientSettings ApplyStylesOnClient="True">
</ClientSettings>
<ItemStyle CssClass="griditemtext" />
<HeaderStyle CssClass="gridheadertext" />
<FooterStyle CssClass="gridfootertext" />
<AlternatingItemStyle CssClass="gridalternetitemtext" />
<PagerStyle CssClass="gridpagertext" Mode="NumericPages" />
<CommandItemStyle CssClass="gridcommandtext" />
<SelectedItemStyle CssClass="gridselecteditemtext" />
<MasterTableView AutoGenerateColumns="False"
DataKeyNames="Article Number" Font-Bold="False" Font-Italic="False" CommandItemDisplay="None" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" GridLines="Both">
<ExpandCollapseColumn Visible="False">
<HeaderStyle Width="19px" />
</ExpandCollapseColumn>
<RowIndicatorColumn Visible="False">
<HeaderStyle Width="20px" />
</RowIndicatorColumn>
<PagerStyle Mode="NumericPages" />
<Columns>
</Columns>
</MasterTableView>
</radG:RadGrid>
我不会发布所有列的代码,因为它们都是以相同的方式完成的,但这里是要点:-p
var hyperLinkColumn = new GridHyperLinkColumn
{
DataNavigateUrlFields = new[] { "TransactionID" },
Target = "_blank",
DataNavigateUrlFormatString = @"~/w1/SearchResultDetail.aspx?id={0}",
DataTextField = "Article Number",
HeaderText = "Article Number",
SortExpression = "Article Number",
UniqueName = "ArticleNumber"
};
rgResults.Columns.Add(hyperLinkColumn);
【问题讨论】:
标签: c# asp.net telerik paging radgrid