DataGrid.VirtualItemCount プロパティ
アセンブリ: System.Web (system.web.dll 内)

Dim instance As DataGrid Dim value As Integer value = instance.VirtualItemCount instance.VirtualItemCount = value
/** @property */ public int get_VirtualItemCount () /** @property */ public void set_VirtualItemCount (int value)
カスタム ページングを使用している場合の DataGrid コントロールの仮想項目数。


このプロパティを使用して、カスタム ページングを使用している場合の DataGrid コントロールの仮想項目数を指定します。このプロパティは、AllowCustomPaging プロパティが true に設定されている場合にだけ適用されます。
AllowCustomPaging プロパティが true に設定されている場合、DataGrid コントロールにすべての項目を表示するために必要なページ数は PageSize プロパティと VirtualItemCount プロパティの値に基づいて計算されます。
AllowCustomPaging プロパティが false に設定されている場合は、DataGrid コントロールで表示されるページ数が PageSize プロパティとデータ ソースの項目の合計数に基づいて計算されます。

VirtualItemCount プロパティを使用して、カスタム ページングが使用されているときに DataGrid コントロールに表示される項目の合計数を指定する方法を次のコード例に示します。
<%@ Page Language="VB" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script runat="server"> ' Normally, an entire data source is loaded in the DataGrid control, ' which can take up a lot of resources. This example uses custom ' paging, which loads only the segment of data needed to fill a ' single page. In order to query for the appropriate segment of ' data, the index of the first item displayed on a page must be ' tracked as the user navigates between pages. Dim startIndex As Integer = 0 Function CreateDataSource() As ICollection ' Create sample data for the DataGrid control. Dim dt As DataTable = New DataTable() Dim dr As DataRow ' Define the columns of the table. dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32))) dt.Columns.Add(New DataColumn("StringValue", GetType(String))) dt.Columns.Add(New DataColumn("DateTimeValue", GetType(String))) dt.Columns.Add(New DataColumn("BoolValue", GetType(Boolean))) ' Populate the table with sample values. When using custom paging, ' a query should only return enough data to fill a single page, ' beginning at the start index. Dim i As Integer For i = startIndex To ((startIndex + MyDataGrid.PageSize) - 1) dr = dt.NewRow() dr(0) = i dr(1) = "Item " & i.ToString() dr(2) = DateTime.Now.ToShortDateString() If (i Mod 2 <> 0) Then dr(3) = True Else dr(3) = False End If dt.Rows.Add(dr) Next i Dim dv As DataView = New DataView(dt) Return dv End Function Sub Page_Load(sender As Object, e As EventArgs) ' Load sample data only once, when the page is first loaded. If Not IsPostBack Then ' Set the virtual item count, which specifies the total number ' items displayed in the DataGrid control when custom paging ' is used. MyDataGrid.VirtualItemCount = 200 ' Retrieve the segment of data to display on the page from the ' data source and bind it to the DataGrid control. BindGrid() End If End Sub Sub MyDataGrid_Page(sender as Object, e As DataGridPageChangedEventArgs) ' For the DataGrid control to navigate to the correct page when ' paging is allowed, the CurrentPageIndex property must be updated ' programmatically. This process is usually accomplished in the ' event-handling method for the PageIndexChanged event. ' Set CurrentPageIndex to the page the user clicked. MyDataGrid.CurrentPageIndex = e.NewPageIndex ' Calculate the index of the first item to display on the page ' using the current page index and the page size. startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize ' Retrieve the segment of data to display on the page from the ' data source and bind it to the DataGrid control. BindGrid() End Sub Sub BindGrid() MyDataGrid.DataSource = CreateDataSource() MyDataGrid.DataBind() End Sub </script> <body> <form runat="server"> <h3> DataGrid Custom Paging Example </h3> <asp:DataGrid id="MyDataGrid" AllowCustomPaging="True" AllowPaging="True" PageSize="10" OnPageIndexChanged="MyDataGrid_Page" runat="server"> <HeaderStyle BackColor="Navy" ForeColor="White" Font-Bold="True" /> <PagerStyle Mode="NumericPages" HorizontalAlign="Right" /> </asp:DataGrid> </form> </body> </html>
<%@ Page Language="C#" AutoEventWireup="True" %> <%@ Import Namespace="System.Data" %> <html> <script runat="server"> // Normally, an entire data source is loaded in the DataGrid control, // which can take up a lot of resources. This example uses custom // paging, which loads only the segment of data needed to fill a // single page. In order to query for the appropriate segment of // data, the index of the first item displayed on a page must be // tracked as the user navigates between pages. int startIndex = 0; ICollection CreateDataSource() { // Create sample data for the DataGrid control. DataTable dt = new DataTable(); DataRow dr; // Define the columns of the table. dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32))); dt.Columns.Add(new DataColumn("StringValue", typeof(string))); dt.Columns.Add(new DataColumn("DateTimeValue", typeof(string))); dt.Columns.Add(new DataColumn("BoolValue", typeof(bool))); // Populate the table with sample values. When using custom paging, // a query should only return enough data to fill a single page, // beginning at the start index. for (int i = startIndex; i < (startIndex + MyDataGrid.PageSize); i++) { dr = dt.NewRow(); dr[0] = i; dr[1] = "Item " + i.ToString(); dr[2] = DateTime.Now.ToShortDateString(); dr[3] = (i % 2 != 0) ? true : false; dt.Rows.Add(dr); } DataView dv = new DataView(dt); return dv; } void Page_Load(Object sender, EventArgs e) { // Load sample data only once, when the page is first loaded. if (!IsPostBack) { // Set the virtual item count, which specifies the total number // items displayed in the DataGrid control when custom paging // is used. MyDataGrid.VirtualItemCount = 200; // Retrieve the segment of data to display on the page from the // data source and bind it to the DataGrid control. BindGrid(); } } void MyDataGrid_Page(Object sender, DataGridPageChangedEventArgs e) { // For the DataGrid control to navigate to the correct page when // paging is allowed, the CurrentPageIndex property must be updated // programmatically. This process is usually accomplished in the // event-handling method for the PageIndexChanged event. // Set CurrentPageIndex to the page the user clicked. MyDataGrid.CurrentPageIndex = e.NewPageIndex; // Calculate the index of the first item to display on the page // using the current page index and the page size. startIndex = MyDataGrid.CurrentPageIndex * MyDataGrid.PageSize; // Retrieve the segment of data to display on the page from the // data source and bind it to the DataGrid control. BindGrid(); } void BindGrid() { MyDataGrid.DataSource = CreateDataSource(); MyDataGrid.DataBind(); } </script> <body> <form runat="server"> <h3> DataGrid Custom Paging Example </h3> <asp:DataGrid id="MyDataGrid" AllowCustomPaging="True" AllowPaging="True" PageSize="10" OnPageIndexChanged="MyDataGrid_Page" runat="server"> <HeaderStyle BackColor="Navy" ForeColor="White" Font-Bold="True" /> <PagerStyle Mode="NumericPages" HorizontalAlign="Right" /> </asp:DataGrid> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からDataGrid.VirtualItemCount プロパティを検索する場合は、下記のリンクをクリックしてください。

- DataGrid.VirtualItemCount プロパティのページへのリンク