public int GetPageCount(int recordcount, int page_size)
{
int pagecount = 0;
if (recordcount % page_size == 0)
pagecount = recordcount / page_size;
else
pagecount = (recordcount / page_size) + 1;
return pagecount;
}
public DataView GetPagerForView(DataTable dt, int page_size, int pageindex, out string msg)
{
DataView dv = new DataView();
if (dt != null)
{
int recordCount = dt.Rows.Count; //总记录数
int page_sum = GetPageCount(recordCount, page_size);
if (page_size < dt.Rows.Count)//kl :SQL查询函数返回的DATASET
{
if (page_size == 0)//text_intpase :判断用户设置的分页是否合法
page_size = 10;
if (page_size < 1)
{
msg = "请将分页项设置在[-" + dt.Rows.Count.ToString() + "]之间";
}
msg = "共" + page_sum.ToString() + "页," + dt.Rows.Count.ToString() + "条";//page_num :lable
DataTable page_table = new DataTable();//记录当前正在操作的是哪个表,全局变量,值由查询函数获取
for (int k = 0; k < dt.Columns.Count; k++)
{
page_table.Columns.Add(dt.Columns[k].ColumnName);
}
if (dt.Rows.Count != 0 && page_size < dt.Rows.Count)
{
page_table.Clear();
try //普通页面显示
{
page_table.Clear();
for (int i = 0; i < page_size; i++)
{
page_table.Rows.Add(dt.Rows[i + (pageindex * page_size)].ItemArray);
}
}
catch //最后不足一个页面的显示
{
page_table.Clear();
try
{
for (int s = 0; s < recordCount - (pageindex * page_size); s++)
{
page_table.Rows.Add(dt.Rows[s + (pageindex * page_size)].ItemArray);
}
}
catch { }
}
msg += " 当前第" + (pageindex + 1).ToString() + "页";
}
dv = page_table.DefaultView;
}
else
{
dv = dt.DefaultView;
msg = "共页," + dt.Rows.Count.ToString() + "条";
msg += " 当前第" + (pageindex + 1).ToString() + "页";
}
return dv;
}
else
{
msg = "没有数据!";
return null;
}
}
private void toolStrip1_ItemClicked_1(object sender, ToolStripItemClickedEventArgs e)
{
if (e.ClickedItem.Tag != null)
{
this.Cursor = Cursors.WaitCursor;
int _currentPageIndex = 1;
DataTable dt = GetDicData();
int pagecount = 0;
if (dt != null)
pagecount = page.GetPageCount(dt.Rows.Count, pageSize);
if (toolStripTextBox1.Text != "")
{
try
{
_currentPageIndex = Convert.ToInt32(toolStripTextBox1.Text);
}
catch
{
_currentPageIndex = 1;
}
}
switch (e.ClickedItem.Tag.ToString())
{
case "First":
_currentPageIndex = 1;
break;
case "Prev":
_currentPageIndex = _currentPageIndex - 1;
break;
case "Next":
_currentPageIndex = _currentPageIndex + 1;
break;
case "Last":
_currentPageIndex = pagecount;
break;
case "jump":
_currentPageIndex = Convert.ToInt32(toolStripTextBox1.Text);
if (_currentPageIndex > pagecount)
{
_currentPageIndex = pagecount;
}
break;
default:
this.Cursor = Cursors.Default;
break;
}
InitData(_currentPageIndex - 1);
if (_currentPageIndex == 1)
{
toolStripTextBox1.Text = "1";
this.toolStripButton1.Enabled = false;
this.toolStripButton2.Enabled = false;
this.toolStripButton3.Enabled = true;
this.toolStripButton4.Enabled = true;
}
else
{
if (_currentPageIndex < pagecount && _currentPageIndex >= 1)
{
toolStripTextBox1.Text = _currentPageIndex.ToString();
this.toolStripButton1.Enabled = true;
this.toolStripButton2.Enabled = true;
this.toolStripButton3.Enabled = true;
this.toolStripButton4.Enabled = true;
}
else if (_currentPageIndex == pagecount)
{
toolStripTextBox1.Text = pagecount.ToString();
this.toolStripButton1.Enabled = true;
this.toolStripButton2.Enabled = true;
this.toolStripButton3.Enabled = false;
this.toolStripButton4.Enabled = false;
}
else
{
this.toolStripButton1.Enabled = false;
this.toolStripButton2.Enabled = false;
this.toolStripButton3.Enabled = false;
this.toolStripButton4.Enabled = false;
}
}
this.Cursor = Cursors.Default;
}
}
如有疑问,请留言