C# 手动添加列时,如何在datagridview中进行分页?
我想在datagridview中进行分页,有很多方法,但它们都是用于直接绑定数据库中的数据。当我们手动添加列时,有人能告诉我们如何进行分页吗要添加分页,您需要知道来自数据的行总数,然后将这些行拆分为页面,并填充datagridview的数据源,然后您可以处理列的显示方式 有关分页的更完整示例,请参阅Sk Saini的代码项目文章,我在这篇文章中给出了很多答案 以BindlingList为例,记住这是一个不完整的解决方案C# 手动添加列时,如何在datagridview中进行分页?,c#,winforms,datagridview,C#,Winforms,Datagridview,我想在datagridview中进行分页,有很多方法,但它们都是用于直接绑定数据库中的数据。当我们手动添加列时,有人能告诉我们如何进行分页吗要添加分页,您需要知道来自数据的行总数,然后将这些行拆分为页面,并填充datagridview的数据源,然后您可以处理列的显示方式 有关分页的更完整示例,请参阅Sk Saini的代码项目文章,我在这篇文章中给出了很多答案 以BindlingList为例,记住这是一个不完整的解决方案 private int pageSize = 10; private int
private int pageSize = 10;
private int currentPage = 0;
private int totalPages;
private BindlingList<object> bindinglist;
public void InitialiseDataSource(){
// populate bindinglist..
bindinglist = new Bindlist<object>(){etc..}
CalculateTotalPages();
SetDataSource(1);
}
private void CalculateTotalPages(){
int rowCount = bindingList.Count;
this.totalPages = rowCount / this.pageSize;
if (rowCount % this.pageSize > 0){
this.totalPage += 1;
}
}
private int GetNumOfItemsToShow(int page){
return this.pageSize * this.page;
}
private int GetNumOfItemsToSkip(){
return this.pageSize * this.currentPage;
}
然后,要在页面之间移动页面,请为NextPage、PreviousPage等添加方法
private void NextPage(){
var page = currentPage + 1;
if (page <= totalPages){
SetDataSource(page);
} else {
//do something else
}
}
private void NextPage(){
变量页=当前页+1;
如果(page要添加分页,您需要知道来自数据的行总数,然后将这些行拆分为页面,并填充datagridview的数据源,那么您可以处理列的显示方式
有关分页的更完整示例,请参阅Sk Saini的代码项目文章,我在这篇文章中给出了很多答案
以BindlingList为例,记住这是一个不完整的解决方案
private int pageSize = 10;
private int currentPage = 0;
private int totalPages;
private BindlingList<object> bindinglist;
public void InitialiseDataSource(){
// populate bindinglist..
bindinglist = new Bindlist<object>(){etc..}
CalculateTotalPages();
SetDataSource(1);
}
private void CalculateTotalPages(){
int rowCount = bindingList.Count;
this.totalPages = rowCount / this.pageSize;
if (rowCount % this.pageSize > 0){
this.totalPage += 1;
}
}
private int GetNumOfItemsToShow(int page){
return this.pageSize * this.page;
}
private int GetNumOfItemsToSkip(){
return this.pageSize * this.currentPage;
}
然后,要在页面之间移动页面,请为NextPage、PreviousPage等添加方法
private void NextPage(){
var page = currentPage + 1;
if (page <= totalPages){
SetDataSource(page);
} else {
//do something else
}
}
private void NextPage(){
变量页=当前页+1;
如果(第页),你是说你想打印页码?还是说屏幕页,只要调整DGV的大小就会改变?你是说你想打印页码?还是说屏幕页,只要调整DGV的大小就会改变??