(0) exportieren Drucken
Alle erweitern

DataGrid.VirtualItemCount-Eigenschaft

Ruft bei Verwendung von benutzerdefiniertem Paging die virtuelle Anzahl von Elementen im DataGrid-Steuerelement ab oder legt diese fest.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

public virtual int VirtualItemCount { get; set; }
/** @property */
public int get_VirtualItemCount ()

/** @property */
public void set_VirtualItemCount (int value)

public function get VirtualItemCount () : int

public function set VirtualItemCount (value : int)

Eigenschaftenwert

Die virtuelle Anzahl von Elementen im DataGrid-Steuerelement, wenn das benutzerdefinierte Paging verwendet wird.

AusnahmetypBedingung

ArgumentOutOfRangeException

Der angegebene Wert ist eine negative Zahl.

Geben Sie mit dieser Eigenschaft die virtuelle Anzahl von Elementen im DataGrid-Steuerelement an, wenn das benutzerdefinierte Paging verwendet wird. Diese Eigenschaft wird nur verwendet, wenn die AllowCustomPaging-Eigenschaft auf true festgelegt ist.

Wenn die AllowCustomPaging-Eigenschaft auf true festgelegt ist, wird die Anzahl der zur Anzeige aller Elemente im DataGrid-Steuerelement benötigten Seiten anhand der Werte der PageSize-Eigenschaft und der VirtualItemCount-Eigenschaft berechnet.

Wenn die AllowCustomPaging-Eigenschaft auf false festgelegt ist, wird die Anzahl der im DataGrid-Steuerelement angezeigten Seiten anhand der Werte der PageSize-Eigenschaft und der Gesamtzahl der Elemente in der Datenquelle berechnet.

Das folgende Codebeispiel veranschaulicht, wie mit der VirtualItemCount-Eigenschaft die Gesamtzahl der Elemente im DataGrid-Steuerelement angegeben wird, wenn benutzerdefiniertes Paging verwendet wird.

<%@ 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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen:
© 2014 Microsoft