伙计们我试图通过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) 有没有办法将快捷键分配给BindingNavigator中的标准导航ToolStrip项?
使用.AddStandardItems方法添加的项是ToolStripItem类型,它没有ShortcutKeys属性.
我试图转换为ToolStripMenuItem,但它失败了.
public void ConfigureMyNavigator()
{
// Adds ToolStripItems which don't support shortcut keys
m_navigator.AddStandardItems();
// Adds a ToolStripMenuItem which can support a shortcut key
var button = new ToolStripMenuItem
{
Size = new Size(0, 0),
Text = "Save",
ShortcutKeys = (Keys)Shortcut.CtrlS,
ToolTipText = "Press Ctrl+S to save"
};
button.Click += tsmi_Click;
m_navigator.Items.Add(button);
// This fails with invalid cast exception
((ToolStripMenuItem)m_navigator.Items[1]).ShortcutKeys = (Keys)Shortcut.AltLeftArrow;
}
Run Code Online (Sandbox Code Playgroud)
我想我可以逐一用toolstripmenuitems替换toolstripitems,但觉得这很尴尬.