Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

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; }

Eigenschaftswert

Type: 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.

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 Project.

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
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: