Поделиться через


LinqDataSourceStatusEventArgs.TotalRowCount Свойство

Определение

Возвращает общее число строк в наборе данных, полученном в результате операции по извлечению данных.

public:
 property int TotalRowCount { int get(); };
public int TotalRowCount { get; }
member this.TotalRowCount : int
Public ReadOnly Property TotalRowCount As Integer

Значение свойства

Общее число строк в наборе данных, полученном в результате операции по извлечению данных; -1, если объект LinqDataSourceStatusEventArgs создан во время операции изменения данных; -1, если вы включили настраиваемое разбиение на страницы, присвоив свойству AutoPage значение true, а свойству RetrieveTotalRowCount — значение false.

Примеры

В следующем примере показана веб-страница с элементом LinqDataSource управления, элементом GridView управления и элементом Literal управления . Элемент LinqDataSource управления определяет обработчик событий для Selected события.

<asp:Literal ID="Literal1" runat="server"></asp:Literal> Total Records
<br />
<asp:LinqDataSource 
  AutoPage="true"
  ID="LinqDataSource1" 
  runat="server" 
  ContextTypeName="ExampleDataContext" 
  TableName="Customers" 
  onselected="LinqDataSource1_Selected">
</asp:LinqDataSource>
<asp:GridView 
  ID="GridView1" 
  runat="server" 
  AllowPaging="true" 
  AutoGenerateColumns="True" 
  DataKeyNames="CustomerID" 
  DataSourceID="LinqDataSource1">
</asp:GridView>
<asp:Literal ID="Literal1" runat="server"></asp:Literal> Total Records
<br />
<asp:LinqDataSource 
  AutoPage="true"
  ID="LinqDataSource1" 
  runat="server" 
  ContextTypeName="ExampleDataContext" 
  TableName="Customers">
</asp:LinqDataSource>
<asp:GridView 
  ID="GridView1" 
  runat="server" 
  AllowPaging="true" 
  AutoGenerateColumns="True" 
  DataKeyNames="CustomerID" 
  DataSourceID="LinqDataSource1">
</asp:GridView>

В следующем примере показан код обработчика событий для Selected события . Значение TotalRowCount свойства присваивается элементу Literal управления .

protected void LinqDataSource1_Selected(object sender, LinqDataSourceStatusEventArgs e)
{
    Literal1.Text = e.TotalRowCount.ToString();
}
Protected Sub LinqDataSource1_Selected(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LinqDataSourceStatusEventArgs) Handles LinqDataSource1.Selected
    Literal1.Text = e.TotalRowCount.ToString()
End Sub

Комментарии

Свойство используется TotalRowCount для получения количества записей в наборе данных во время операции извлечения данных. Как правило, это свойство извлекается, когда отображаются страницы данных и требуется показать общее количество записей.

При выстраии данных значение в свойстве TotalRowCount может отличаться от фактического числа строк, возвращаемых запросом. Это связано с тем, что запрос возвращает только количество строк, необходимых для этой страницы данных.

Свойство TotalRowCount содержит количество записей из запроса только при обращении к нему в обработчике Selected события. При доступе к свойству из обработчика событий для ContextCreatedсобытия TotalRowCount , Deleted, Insertedили Updated свойство содержит -1.

Значение TotalRowCount свойства зависит AutoPage от свойства LinqDataSource элемента управления и AllowPaging от свойства элемента управления с привязкой к данным. В следующей таблице перечислены возможные значения свойства TotalRowCount .

Свойство AutoPage элемента управления LinqDataSource Свойство AllowPaging элемента управления с привязкой к данным Свойство TotalRowCount Результат
true true Количество записей для запроса. Данные автоматически отображаются на страницу.
false false Количество записей для запроса. Данные не выстраимы.
true false -1 Данные не выстраимы.
false true Значение, назначенное свойству TotalRowCount в обработчике событий для Selecting события. Данные выстраивать на страницы в соответствии со значениями, указанными при настройке разбиения по страницам.

Применяется к