Пейджинг GridView - PullRequest
       14

Пейджинг GridView

3 голосов
/ 01 февраля 2011

У меня есть простой запрос:

Dim info As New SailMembersDataContext
Dim query = From p In info.Individuals
GridView1.DataSource = query
GridView1.DataBind()

, и мне было интересно, как я могу добавить подкачку к этому запросу, например, 10 на странице, я пытался использовать встроенную подкачку в GridView, нопросто выдает ошибку:

Событие GridView 'GridView1' PageIndexChanging, которое не было обработано.

При попытке перейти на другую страницу.

Ответы [ 2 ]

3 голосов
/ 01 февраля 2011

Хорошо, это просто

Обрабатывать PageIndexChanging событие в вашем коде позади,

C #

void GridView1_PageIndexChanging(Object sender, GridViewPageEventArgs e)
{
    //For example
    //Cancel the paging operation if the user attempts to navigate
    //to another page while the GridView control is in edit mode. 
    if (GridView1.EditIndex != -1)
    {
        // Use the Cancel property to cancel the paging operation.
        e.Cancel = true;

        // Display an error message.
        int newPageNumber = e.NewPageIndex + 1;
        Message.Text = "Please update the record before moving to page " +
        newPageNumber.ToString() + ".";
    }
    else
    {
        // Clear the error message.
        Message.Text = "";
    }
}

VB.NET

Private Sub GridView1_PageIndexChanging(sender As [Object], e As GridViewPageEventArgs)
    'For example
    'Cancel the paging operation if the user attempts to navigate
    'to another page while the GridView control is in edit mode. 
    If GridView1.EditIndex <> -1 Then
        ' Use the Cancel property to cancel the paging operation.
        e.Cancel = True

        ' Display an error message.
        Dim newPageNumber As Integer = e.NewPageIndex + 1
        Message.Text = "Please update the record before moving to page " & newPageNumber.ToString() & "."
    Else
        ' Clear the error message.
        Message.Text = ""
    End If
End Sub

И ваша разметка будет такой:

<asp:gridview id="GridView1" 
    autogeneratecolumns="true"
    emptydatatext="No data available." 
    allowpaging="true"
    autogenerateeditbutton="true"
    onpageindexchanging="GridView1_PageIndexChanging" 
    runat="server">
    <pagersettings mode="Numeric"
      position="Bottom"           
      pagebuttoncount="10"/>

    <pagerstyle backcolor="LightBlue"/>

  </asp:gridview>
0 голосов
/ 01 февраля 2011

Вам нужен метод для обработки события.

/// <summary>
/// Handles the PageIndexChanging event.  
/// </summary>
/// <param name="sender">The sender.</param>
/// <param name="e">The instance containing the event data.</param>    
public static void GridViewPageIndexChanging(object sender, GridViewPageEventArgs e)
{
    [your application functionality here]
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...