所以,我試圖使用RadGrid控件顯示「顯示1-20或100」。我把下面的代碼RadGrid1_PageIndexChanged事件:顯示RadGrid當前頁面統計
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);
這並沒有最終幫助在這種情況下,但肯定是很好的信息!我意識到我需要拖動一個腳本管理器到$ find函數才能工作的頁面上。不幸的是,我的網格變量仍然是空的,但它是朝着正確方向邁出的一步。 – Relevant
我甚至都不知道如何在沒有腳本管理器的情況下獲得與MS AJAX相關的任何東西。通過我的示例,唯一可以防止網格變量獲得適當引用的東西是其他地方的JavaScript錯誤,或者rgResults網格不可見(即,Visible = false)。如果兩者都不是這樣 - 請發佈完整的代碼以顯示問題,以便我們可以對其進行破解。 – rdmptn
除了查找外,我沒有在頁面上有任何AJAX。我是這個項目的新手,我知道這有點古怪。用你的代碼示例,我能夠找出問題(當2個AJAX函數不工作時,它變得更加清晰:-p)。似乎有一個問題可能是我需要使用RadScriptManager?但是這似乎導致了各種問題。通過使用標準腳本管理器提供的代碼,$ find返回null。它正在進入alertMe()函數。 – Relevant