自定义用户控件的代码提示

WebForm

g2po0010.aspx:<%@ Register src="UserControl/ccnListContorlascx.ascx" tagname="ccnListContorlascx" tagprefix="uc1" %> 

                              <uc1:ccnListContorlascx ID="ccnListContorlascx1" runat="server" />

 

g2po0010.aspx.cs: public partial class g2po001 : System.Web.UI.Page

 

 

WinForm

IP控件         Panle控件上放几个文本框, .用lable控件组合的

IPBox.cs :    public partial class IPBox : UserControl

 

自定义分页控件没有经过验证的代码参考

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;



namespace UPPERMACHINER.WIN

{

    public partial class UCPageControl :UserControl            //1定义几个所需的共有成员:

    {

        int pageSize = 0;                                                     //每页显示

        int nMax = 0;                                                       //总记录数

        int pageCount = 0;                                                  //页数=总记录数/每页显示行数

        int nCurrent = 0;                                                   //当前记录行

        int pageCurrent = 1;                                                //当前页号



        public UCPageControl()

        {

            InitializeComponent();

        }

        /// <summary>

        /// 自定义一个DataTable属性

        /// </summary>

        private DataTable _dt;

        public DataTable dt

        {

            set

            {

                _dt = value;

            }

            get

            {

                return _dt;

            }

        }

        /// <summary>

        /// 当前页面数据填充DataGridView

        /// </summary>

        //private void InitDataTable(DataTable dtInfo)

        //{



        //}



        public void LoadData()

        {

            pageSize = 1;  //设置页面行数

            DataTable dtInfo = dt;                  //获得该类当前的数据源datatable

            if( dtInfo !=null && dtInfo.Rows.Count>0)

          {

            nMax = dtInfo.Rows.Count;

            pageCount = (nMax / pageSize);                                    //计算总页数

            if ((nMax % pageSize) > 0) pageCount++;

            //pageCurrent = 1;                                                //当前页数从1开始

            //nCurrent = 0;

            int nStartPos = 0;                                             //当前页面开始记录行

            int nEndPos = 0;                                              //当前页面结束记录行



            DataTable dtTemp = dtInfo.Clone();                             //克隆DataTable结构框架

            if (pageCurrent == pageCount)                                 //如果当前页号数等于总页数 则当前页面结束记录行为最大的记录数即总共的记录数

            {

                nEndPos = nMax;

            }

            else

            {

                nEndPos = pageSize * pageCurrent;                                                    //当前页号不等于总页数 则每页显示的行数即长度乘以当前的页号数

            }



            nStartPos = nCurrent;                                                                  // 起始记录行等于当前记录行      

            labSum.Text = "" + pageCount + "";                                                 //总页数

            labCurrent.Text = "" + Convert.ToString(pageCurrent) + "";                         //当前页号

            //从源数据复制记录行

            for (int i = nStartPos; i <nEndPos; i++)

            {

                dtTemp.ImportRow(dtInfo.Rows[i]);                                                  //起始记录行之间的数据全部复制到dtTemp表 每次当前记录行数+1

                nCurrent++;

            }

            dataGridView1.DataSource = dtTemp;

          }



        }

        private void linkLast_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            pageCurrent--;

            if (pageCurrent <= 0)

            {

                MessageBox.Show("已经是第一页,请点击 下一页 查看!", "提示");

                return;

            }

            else

            {

                nCurrent = pageSize * pageCurrent;

            }

            LoadData();

        }



        private void linkNext_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            pageCurrent++;

            if (pageCurrent > pageCount)

            {

                MessageBox.Show("已经是最后一页,请点击“上一页”查看!");

                return;

            }

            else

            {

                nCurrent = pageSize * pageCurrent;

            }

            LoadData();

        }



        /// <summary>

        /// 验证字符串是否为正整数

        /// </summary>

        /// <param name="str"></param>

        /// <returns></returns>

        public static bool IsNumeric(string str)

        {

            System.Text.RegularExpressions.Regex reg1 = new System.Text.RegularExpressions.Regex(@"^[0-9]*[1-9][0-9]*$");

            return reg1.IsMatch(str);

        }



        /// <summary>

        /// 转到第几页

        /// </summary>

        /// <param name="sender"></param>

        /// <param name="e"></param>

        private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

        {

            if (!String.IsNullOrEmpty(textGo.Text.Trim()) && IsNumeric(textGo.Text.Trim())) //如果是个正整数即有效数字则转到相应页面

            {

                nCurrent = pageSize * pageCurrent;

                LoadData();

            }

        }

    }

}

 

你可能感兴趣的:(自定义)