/winforms-grid-sql-pagination

Implement a pager using the grid's Data Navigator.

Primary LanguageC#OtherNOASSERTION

WinForms Data Grid - Implement a pager using the Data Navigator

In this example:

  1. Enable the GridControl.UseEmbeddedNavigator property to display the Data Navigator within the Grid control.
  2. Use the GridControl.EmbeddedNavigator property and add two custom buttons (NextPage, PrevPage).
  3. Specify the Tag property for each button to distinguish custom buttons in code.
  4. Handle the GridControl.EmbeddedNavigator.ButtonClick event to increment/decrement the current page index, retrieve a new data source, and assign it to the GridControl.DataSource property.
private void EmbeddedNavigator_ButtonClick(object sender, NavigatorButtonClickEventArgs e) {
    if (e.Button.ButtonType != NavigatorButtonType.Custom) return;
    e.Handled = true;
    string tag = (string)e.Button.Tag;
    switch(tag) {
        case "NextPage":
            this.CurrentPageIndex = Math.Min(this.CurrentPageIndex + 1, this.MaxPageIndex);
            break;
        case "PrevPage":
            this.CurrentPageIndex = Math.Max(0, this.CurrentPageIndex - 1);
            break;
    }
    this.GridControl.DataSource = GetData(this.CurrentPageIndex);
}
Private Sub EmbeddedNavigator_ButtonClick(ByVal sender As Object, ByVal e As NavigatorButtonClickEventArgs)
	If e.Button.ButtonType <> NavigatorButtonType.Custom Then
		Return
	End If
	e.Handled = True
	Dim tag As String = CStr(e.Button.Tag)
	Select Case tag
		Case "NextPage"
			Me.CurrentPageIndex = Math.Min(Me.CurrentPageIndex + 1, Me.MaxPageIndex)
		Case "PrevPage"
			Me.CurrentPageIndex = Math.Max(0, Me.CurrentPageIndex - 1)
	End Select
	Me.GridControl.DataSource = GetData(Me.CurrentPageIndex)
End Sub

Documentation

See Also

Does this example address your development requirements/objectives?

(you will be redirected to DevExpress.com to submit your response)