Understand. Instead of the Render handler I can suggest this override.
Ext.toolbar.Paging.override({
onRender: function() {
var me = this,
item = me.child('#afterTextItem'),
originalSetText = item.setText;
me.callParent(arguments);
item.setText = function(text) {
if (text === Ext.String.format(this.ownerCt.afterPageText, 0)) {
text = Ext.String.format(this.ownerCt.afterPageText, 1);
}
originalSetText.apply(this, [text]);
}
}
});
Here is a full example.
Example
<%@ Page Language="C#" %>
<script runat="server">
protected void BindData(object sender, DirectEventArgs e)
{
this.Store1.DataSource = new object[]
{
new object[] { "test1" },
new object[] { "test2" },
new object[] { "test3" },
new object[] { "test4" },
new object[] { "test5" },
new object[] { "test6" },
new object[] { "test7" },
new object[] { "test8" },
new object[] { "test9" }
};
this.Store1.DataBind();
}
</script>
<!DOCTYPE html>
<html>
<head runat="server">
<title>Ext.NET v2 Example</title>
<script>
Ext.toolbar.Paging.override({
onRender: function() {
var me = this,
item = me.child('#afterTextItem'),
originalSetText = item.setText;
me.callParent(arguments);
item.setText = function(text) {
if (text === Ext.String.format(this.ownerCt.afterPageText, 0)) {
text = Ext.String.format(this.ownerCt.afterPageText, 1);
}
originalSetText.apply(this, [text]);
}
}
});
</script>
</head>
<body>
<form runat="server">
<ext:ResourceManager runat="server" />
<ext:Button runat="server" Text="Bind data" OnDirectClick="BindData" />
<ext:GridPanel ID="GridPanel1" runat="server">
<Store>
<ext:Store ID="Store1" runat="server" PageSize="3">
<Model>
<ext:Model runat="server">
<Fields>
<ext:ModelField Name="test" />
</Fields>
</ext:Model>
</Model>
<Reader>
<ext:ArrayReader />
</Reader>
</ext:Store>
</Store>
<ColumnModel runat="server">
<Columns>
<ext:Column runat="server" Text="Test" DataIndex="test" />
</Columns>
</ColumnModel>
<BottomBar>
<ext:PagingToolbar runat="server" />
</BottomBar>
</ext:GridPanel>
</form>
</body>
</html>