SQL リクエスト/選択コマンドを取得したら、単一のページを取得します。これを行うには、カスタム ページャーを作成する必要があります。次に、ページャーにあるボタン/ドロップダウンまたはその他のコントロールに関連付けられたイベントで、SQL コマンドを呼び出します。WebDataGrid のカスタム ページャーを実装する方法については、以下を参照してください。
http://help.infragistics.com/NetAdvantage/ASPNET/2012.1/CLR4.0/?page=WebDataGrid_Using_Custom_Paging_Template.html
コードによるカスタム ページャー:
http://help.infragistics.com/NetAdvantage/ASPNET/2012.1/CLR4.0/?page=WebDataGrid_Using_Custom_Paging_Template_in_Code.html
WebHierarchicalDataGrid に対してこれを行うことは、親バンドに対して同じになります。子供の場合は、親バンドではなく、そのバンドの動作に対して実行する必要があります。
ページャーでボタンやドロップダウンを使用せず、代わりにリンク (1、2、3、4 など) が必要な場合は、次のコードを実行することで実行できます。
private class CustomItemTemplate : ITemplate
{
#region ITemplate Members
public void InstantiateIn(Control container)
{
for (int i = 0; i < 3; i++)
{
LiteralControl link = new LiteralControl();
//class for current page: igg_PageCurrent
//class for other pages: igg_PageLink
link.Text = "<span class='igg_PageLink' idx='" + i.ToString() + "'>" + (i+1).ToString() + "</span>";
container.Controls.Add(link);
}
}
#endregion
}
protected void Page_PreInit(object sender, EventArgs e)
{
whdg1.Behaviors.Paging.PagerTemplate = new CustomItemTemplate();
}
ただし、実際の問題は、データベースからこの方法でデータを取得する場合です。この場合、1 ページ分のデータしか取得できないため、グリッドはデータベース内にいくつのページがあるかわかりません。したがって、これを見つける方法を知るか、単に知る必要があります。これにより、子レコードまたはレコードのページ数を拡張できる行ごとに知る必要があるため、子バンドの実装がより困難になります。