相关疑难解决方法(0)

BindingNavigator与DataGridView的分页功能?

伙计们我试图通过C#windows窗体应用程序中的bindingnavigator在我的datagridview中实现分页.

我只是将datagridview和bindingnavigator从工具栏拖到窗体.使用数据集将Datagridview数据绑定到SQL Server中的数据库表.我已经为gridview添加了3个额外的按钮,这些按钮将执行一些功能.

现在我以前从未使用过bindingnavigator,所以我只选择了datagridview1的bindingsource来从其属性中获取bindingnavigator的数据源.

这是我的表单在运行时的样子:

在此输入图像描述

目前,datagridview1显示我表中的所有记录(31,截至目前),绑定导航器下一个按钮只是将我带到下一条记录(例如,从TicketID = 1到TicketID = 2).

现在,我想做的是:

1.)Datagridview应该每页只显示10(或50)条记录,并且应该使用bindingnavigator控件在页面之间切换,以便UI保持响应,并且它变得更"内存效率",因为最终我的数据库将有数千条记录.

2.)BindingNavigator的控件应出现在窗体的中心,而不是左/右.我无法将其设置为属性的中心.

我的表格背后的代码:

       using System;
       using System.Collections.Generic;
       using System.ComponentModel;
       using System.Data;
       using System.Drawing;
       using System.Linq;
       using System.Text;
       using System.Threading.Tasks;
       using System.Windows.Forms;

       namespace WindowsFormsApplication2
       {
           public partial class Form9 : Form
           {
               public Form9()
    {
        InitializeComponent();
    }

    private void Form9_Load(object sender, EventArgs e)
    {
        this.CenterToScreen();
        try
        {
            this.tblTicketDetailTableAdapter.Fill(this.sTDataSet4.tblTicketDetail);
        }
        catch
        {
            MessageBox.Show("Error : Cannot establish a valid connection to database.", "SQL SERVER ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }

    private void dataGridView1_CellContentClick(object …
Run Code Online (Sandbox Code Playgroud)

c# datagridview winforms bindingnavigator

8
推荐指数
1
解决办法
1万
查看次数

使用BindingNavigator而不使用BindingSource

我有一个应用程序,在数据库中完成分页.也就是说,检索项目列表的调用包括页码,页面大小,并且仅返回页面的数据.例如:

ItemCollection items = ListAllItems(1, 20); // page 1, show 20 items per page
Run Code Online (Sandbox Code Playgroud)

ItemCollection包含一个PagingUtil属性,该属性是一个包含支持分页但不检索所有记录的属性的类.

public class PagingUtil
{
    public int StartRow { get; private set; }

    public int EndRow { get; private set; }

    public int TotalPages { get; private set; }

    public bool HasPrevPage { get; private set; }

    public bool HasNextPage { get; private set; }

    public int TotalCount { get; private set; }

    private PagingUtil() {}

    public PagingUtil(int pageNumber, int visiblePerPage, int totalCount) 
    {
            ... logic …
Run Code Online (Sandbox Code Playgroud)

c# winforms

3
推荐指数
1
解决办法
6995
查看次数

标签 统计

c# ×2

winforms ×2

bindingnavigator ×1

datagridview ×1