Exportieren (0) Drucken
Alle erweitern
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

ObjectDataSource.EnablePaging-Eigenschaft

Ruft einen Wert ab, der angibt, ob das Datenquellensteuerelement Paging für den von ihm abgerufenen Datensatz unterstützt, oder legt diesen fest.

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

public bool EnablePaging { get; set; }
<asp:ObjectDataSource EnablePaging="True|False" />

Eigenschaftswert

Typ: System.Boolean
true , wenn das Datenquellen-Steuerelement Paging für die von ihm abgerufenen Daten unterstützt, andernfalls false.

Der Pagingvorgang des ObjectDataSource-Steuerelements wird behandelt, indem die Eigenschaften EnablePaging, StartRowIndexParameterName, MaximumRowsParameterName und SelectCountMethod der ObjectDataSource festgelegt werden und eine Auswahlmethode im Geschäftsobjekt mit den entsprechenden Parametern definiert wird. Wenn die EnablePaging-Eigenschaft auf true festgelegt ist, enthält die SelectParameters-Auflistung zwei zusätzliche Parameter für die erste angeforderte Zeile sowie die Anzahl der angeforderten Zeilen. Die Namen dieser beiden Parameter werden von der StartRowIndexParameterName-Eigenschaft und der MaximumRowsParameterName-Eigenschaft definiert. Die Select-Methode muss die angeforderte Anzahl von Zeilen beginnend ab dem angegebenen Index zurückgeben. Da die Daten aufgrund der Seitengröße möglicherweise nicht gleichmäßig aufgeteilt werden können, kann die letzte Seite weniger Zeilen enthalten. Somit entspricht die Anzahl der angeforderten Zeilen auch der maximalen Anzahl der Zeilen, die zurückgegeben werden.

Wenn Paging für das zugeordnete datengebundene Steuerelement aktiviert ist, ruft dieses die Select-Methode mit dem Startindex und der Anzahl der angeforderten Zeilen auf. Wenn zusätzlich die SelectCountMethod-Eigenschaft festgelegt wurde, wird die Methode vor dem Rendern der Pager-Steuerelemente vom datengebundenen Steuerelement aufgerufen. Wenn z. B. für ein GridView-Steuerelement das Paging mit einer Seitengröße von 5 aktiviert wurde und die von der SelectCountMethod-Eigenschaft angegebene Methode 20 zurückgibt, werden im Pager nur 4 Seiten angezeigt.

Die EnablePaging-Eigenschaft wird an die EnablePaging-Eigenschaft des ObjectDataSourceView-Objekts delegiert.

In den folgenden drei Beispielen werden eine Webseite, eine Code-Behind-Seitenklasse und eine Datenzugriffsklasse veranschaulicht, mit denen Benutzer auswählen können, wie viele Datensätze auf der Seite angezeigt werden.

Die Webseite enthält ein ObjectDataSource-Steuerelement, dessen EnablePaging-Eigenschaft auf true festgelegt ist. Die SelectCountMethod-Eigenschaft ist auf den Namen einer Methode festgelegt, die die Gesamtzahl der Datensätze in der Abfrage zurückgibt. Die MaximumRowsParameterName-Eigenschaft und die StartRowIndexParameterName-Eigenschaft werden auf die Namen der in der Select-Methode verwendeten Parameter festgelegt. Außerdem enthält die Seite ein DropDownList-Steuerelement.


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>ObjectDataSource Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    How many rows to display on this page:<br />
    <asp:DropDownList 
          AutoPostBack="true" 
          ID="rowsToDisplay" 
          runat="server" 
          onselectedindexchanged="rowsToDisplay_SelectedIndexChanged">
        <asp:ListItem Value="5"></asp:ListItem>
        <asp:ListItem Value="10" Selected="True"></asp:ListItem>
        <asp:ListItem Value="20"></asp:ListItem>
    </asp:DropDownList> 

    <asp:ObjectDataSource 
        SelectCountMethod="GetEmployeeCount" 
        EnablePaging="true" 
        TypeName="CustomerLogic" 
        SelectMethod="GetSubsetOfEmployees"
        MaximumRowsParameterName="maxRows"
        StartRowIndexParameterName="startRows"
        ID="ObjectDataSource1" 
        runat="server">
    </asp:ObjectDataSource>

    <asp:GridView 
        DataSourceID="ObjectDataSource1" 
        AllowPaging="true" 
        ID="GridView1" 
        runat="server">
    </asp:GridView>

    </div>
    </form>
</body>
</html>


Im zweiten Beispiel wird ein Handler für das ListControl.SelectedIndexChanged-Ereignis des DropDownList-Steuerelements dargestellt. Der Code im Handler legt die PageSize-Eigenschaft auf die Auswahl des Benutzers fest.


protected void rowsToDisplay_SelectedIndexChanged(object sender, EventArgs e)
{
    GridView1.PageSize = int.Parse(rowsToDisplay.SelectedValue);
}


Im dritten Beispiel wird die Datenzugriffsklasse veranschaulicht, die Daten aus der Tabelle Customers abruft. Es enthält eine Methode mit dem Namen GetSubsetOfEmployees, die der SelectMethod-Eigenschaft des ObjectDataSource-Steuerelements zugewiesen ist. Darüber hinaus enthält das Beispiel eine Methode mit dem Namen GetEmployeeCount, die der SelectCountMethod-Eigenschaft des ObjectDataSource-Steuerelements zugewiesen ist. Die Klasse verwendet LINQ zum Abfragen der Tabelle Customers. Das Beispiel erfordert eine LINQ to SQL-Klasse, die die Datenbank Northwind und die Tabelle Customers darstellt. Weitere Informationen finden Sie unter How to: Create LINQ to SQL Classes in a Web Application.


public class CustomerLogic
{

    public List<Customer> GetSubsetOfEmployees(int startRows, int maxRows)
    {
        NorthwindDataContext ndc = new NorthwindDataContext();
        var customerQuery = 
            from c in ndc.Customers
            select c;

        return customerQuery.Skip(startRows).Take(maxRows).ToList<Customer>();
    }

    public int GetEmployeeCount()
    {
        object cachedCount = HttpRuntime.Cache["TotalEmployeeCount"];
        if (cachedCount != null)
        {
            return int.Parse(cachedCount.ToString());
        }
        else
        {
            NorthwindDataContext ndc = new NorthwindDataContext();
            var totalNumberQuery =
                from c in ndc.Customers
                select c;

            int employeeCount = totalNumberQuery.Count();
            HttpRuntime.Cache.Add("TotalEmployeeCount", employeeCount, null, DateTime.Now.AddMinutes(5), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
            return employeeCount;
        }
    }
}


.NET Framework

Unterstützt in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft