ObjectDataSource.MaximumRowsParameterName Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Veri kaynağı disk belleği desteği için alınacak kayıt sayısını belirtmek için kullanılan iş nesnesi veri alma yöntemi parametresinin adını alır veya ayarlar.
public:
property System::String ^ MaximumRowsParameterName { System::String ^ get(); void set(System::String ^ value); };
public string MaximumRowsParameterName { get; set; }
member this.MaximumRowsParameterName : string with get, set
Public Property MaximumRowsParameterName As String
Özellik Değeri
Alınacak kayıt sayısını belirtmek için kullanılan parametrenin adı SelectMethod . Varsayılan değer: "maximumRows"
.
Örnekler
Aşağıdaki üç örnekte bir Web sayfası, arka planda kod sayfası sınıfı ve kullanıcının sayfada kaç kayıt görüntüleneceğini seçmesini sağlayan bir veri erişim sınıfı gösterilmektedir.
Web sayfası, özelliği olarak true
ayarlanmış bir ObjectDataSource denetim EnablePaging içerir.
SelectCountMethod özelliği, sorgudaki toplam kayıt sayısını döndüren bir yöntemin adına ayarlanır.
MaximumRowsParameterName özelliği ve StartRowIndexParameterName özelliği, Select yönteminde kullanılan parametrelerin adlarına ayarlanır. Sayfada bir DropDownList denetim de vardır.
<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>
İkinci örnekte denetimin ListControl.SelectedIndexChanged olayı için bir işleyici gösterilmektedir DropDownList . İşleyicideki kod, özelliğini kullanıcının seçimine ayarlar PageSize .
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
Üçüncü örnek, Müşteriler tablosundan veri alan veri erişim sınıfını gösterir. Denetimin özelliğine SelectMethodObjectDataSource atanan adlı GetSubsetOfEmployees
bir yöntem içerir. Örnekte, denetimin özelliğine SelectCountMethodObjectDataSource atanan adlı GetEmployeeCount
bir yöntem de bulunur. sınıfı, Müşteriler tablosunu sorgulamak için LINQ kullanır. Örnek, Northwind veritabanını ve Customers tablosunu temsil eden bir LINQ to SQL sınıfı gerektirir. Daha fazla bilgi için bkz . Nasıl yapılır: Web Projesinde LINQ to SQL Sınıfları Oluşturma.
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
Açıklamalar
MaximumRowsParameterName özelliği, veri kaynağı disk belleğini desteklemek için kullanılır. Disk belleğinin ObjectDataSource denetim tarafından nasıl desteklendiği hakkında bilgi için bkz EnablePaging. .
özelliği, MaximumRowsParameterName denetimle ilişkilendirilmiş nesnenin ObjectDataSourceView özelliğini temsil ederObjectDataSource.MaximumRowsParameterName