PageControl.cs 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. using System;
  2. using System.Windows.Forms;
  3. using DevExpress.XtraEditors;
  4. using UAS_PLCDataReader.DataOperate;
  5. using UAS_PLCDataReader.Entity;
  6. using System.Data;
  7. namespace UAS_PLCDataReader.CustomerControl.PagingControl
  8. {
  9. public partial class PageControl : UserControl
  10. {
  11. DataHelper dh = SystemInf.dh;
  12. private AutoDataGridControl.AutoDataGridControl gridcontrol;
  13. public AutoDataGridControl.AutoDataGridControl Gridcontrol
  14. {
  15. get
  16. {
  17. return gridcontrol;
  18. }
  19. set
  20. {
  21. gridcontrol = value;
  22. }
  23. }
  24. public PageControl()
  25. {
  26. InitializeComponent();
  27. }
  28. private void PageControl_Load(object sender, EventArgs e)
  29. {
  30. if (gridcontrol != null)
  31. gridcontrol.VisibleChanged += Gridcontrol_VisibleChanged;
  32. }
  33. private void Gridcontrol_VisibleChanged(object sender, EventArgs e)
  34. {
  35. PageCount.Text = (gridcontrol.RowCount / int.Parse(PageSize.Text) + 1).ToString();
  36. }
  37. private void GoPage_Click(object sender, EventArgs e)
  38. {
  39. SimpleButton button = sender as SimpleButton;
  40. string SQL = gridcontrol.GetDataSQL;
  41. int pagesize = int.Parse(PageSize.Text);
  42. int currentpage = int.Parse(CurrentPage.Text);
  43. int rowcount = gridcontrol.RowCount;
  44. switch (button.Name)
  45. {
  46. case "GoFirstPage":
  47. CurrentPage.Text = "1";
  48. currentpage = 1;
  49. break;
  50. case "GoFormerPage":
  51. if (currentpage == 1)
  52. {
  53. XtraMessageBox.Show("当前已经是第一页", "提示");
  54. return;
  55. }
  56. CurrentPage.Text = (currentpage - 1).ToString();
  57. currentpage = currentpage - 1;
  58. break;
  59. case "GoNextPage":
  60. if (currentpage.ToString() == PageCount.Text)
  61. {
  62. XtraMessageBox.Show("当前已经是最后一页", "提示");
  63. return;
  64. }
  65. CurrentPage.Text = (currentpage + 1).ToString();
  66. currentpage = currentpage + 1;
  67. break;
  68. case "GoLastPage":
  69. CurrentPage.Text = ((rowcount / pagesize) + 1).ToString();
  70. currentpage = int.Parse(PageCount.Text);
  71. break;
  72. default:
  73. break;
  74. }
  75. gridcontrol.DataSource = dh.ExecuteSql("select * from (select RowNum RN, A.* from(" + SQL + ")A) where RN<=" + pagesize * currentpage + "and RN >" + pagesize * (currentpage - 1), "select");
  76. }
  77. private void PageSize_SelectedIndexChanged(object sender, EventArgs e)
  78. {
  79. DataTable dt = (DataTable)dh.ExecuteSql(gridcontrol.GetDataSQL,"select");
  80. PageCount.Text = (dt.Rows.Count / int.Parse(PageSize.Text)).ToString();
  81. }
  82. }
  83. }