ObjectDataSource.StartRowIndexParameterName Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den Namen des Parameters der Datenabrufmethode ab, mit dem der Wert des Bezeichners des ersten Datensatzes angegeben wird, der für die Unterstützung des Datenquellen-Paging abgerufen wird, oder legt diesen fest.
public:
property System::String ^ StartRowIndexParameterName { System::String ^ get(); void set(System::String ^ value); };
public string StartRowIndexParameterName { get; set; }
member this.StartRowIndexParameterName : string with get, set
Public Property StartRowIndexParameterName As String
Eigenschaftswert
Der Name des Geschäftsobjekt-Methodenparameters, mit dem der erste abzurufende Datensatz angegeben wird. Der Parameter muss einen Ganzzahlwert zurückgeben. Der Standardwert lautet "startRowIndex"
.
Beispiele
Die folgenden drei Beispiele zeigen eine Webseite, eine CodeBehind-Seitenklasse und eine Datenzugriffsklasse, mit der der Benutzer auswählen kann, 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 wird auf den Namen einer Methode festgelegt, die die Gesamtzahl der Datensätze in der Abfrage zurückgibt. Die MaximumRowsParameterName -Eigenschaft und die StartRowIndexParameterName -Eigenschaft sind auf die Namen der Parameter festgelegt, die in der Select-Methode verwendet werden. Die Seite enthält auch 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>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</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>
Das zweite Beispiel zeigt einen Handler für das ListControl.SelectedIndexChanged -Ereignis des -Steuerelements DropDownList . 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);
}
Protected Sub rowsToDisplay_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rowsToDisplay.SelectedIndexChanged
GridView1.PageSize = Integer.Parse(rowsToDisplay.SelectedValue)
End Sub
Das dritte Beispiel zeigt die Datenzugriffsklasse, die Daten aus der Tabelle Customers abruft. Sie enthält eine Methode namens GetSubsetOfEmployees
, die der SelectMethod -Eigenschaft des ObjectDataSource -Steuerelements zugewiesen ist. Das Beispiel enthält auch eine Methode mit dem Namen GetEmployeeCount
, die der SelectCountMethod -Eigenschaft des ObjectDataSource -Steuerelements zugewiesen ist. Die -Klasse verwendet LINQ, um die Tabelle Customers abzufragen. Für das Beispiel ist eine LINQ to SQL-Klasse erforderlich, die die Northwind-Datenbank und die Customers-Tabelle darstellt. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen von LINQ to SQL-Klassen in einem Webprojekt.
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;
}
}
}
Public Class CustomerLogic
Public Function GetSubsetOfEmployees(ByVal startRows As Integer, ByVal maxRows As Integer) As List(Of Customer)
Dim ndc As New NorthwindDataContext()
Dim customerQuery = _
From c In ndc.Customers _
Select c
Return customerQuery.Skip(startRows).Take(maxRows).ToList()
End Function
Public Function GetEmployeeCount() As Integer
Dim cachedCount = HttpRuntime.Cache("TotalEmployeeCount")
If cachedCount IsNot Nothing Then
Return Integer.Parse(cachedCount.ToString())
Else
Dim ndc As New NorthwindDataContext()
Dim totalNumberQuery = _
From c In ndc.Customers _
Select c
Dim employeeCount = totalNumberQuery.Count()
HttpRuntime.Cache.Add("TotalEmployeeCount", employeeCount, Nothing, DateTime.Now.AddMinutes(5), Cache.NoSlidingExpiration, CacheItemPriority.Normal, Nothing)
Return employeeCount
End If
End Function
End Class
Hinweise
Die StartRowIndexParameterName -Eigenschaft wird verwendet, um das Paging von Datenquellen zu unterstützen. Informationen dazu, wie das ObjectDataSource Paging vom Steuerelement unterstützt wird, finden Sie unter EnablePaging.
Die StartRowIndexParameterName -Eigenschaft delegiert die StartRowIndexParameterName Eigenschaft des ObjectDataSourceView Objekts, das dem ObjectDataSource Steuerelement zugeordnet ist.