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


    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();
                }
            }
        }
    }
  • 相关阅读:
    C# 实现 Aop [Emit动态生成代理类方式]
    分享一些最近在看的电子书
    Can't connect to your phone. Disconnect it, restart it, then try connecting again
    07,Windows Phone后台代理
    .NET 性能测试工具 性能计数器
    windows 8 metro 开发学习资源链接
    08,Windows Phone 本地存储
    06,Windows Phone 8程序的生命周期
    .NET 性能测试工具 事件跟踪器(ETW)
    LitJSONjson 和net 的完美组合用法
  • 原文地址:https://www.cnblogs.com/markli/p/3629681.html
Copyright © 2020-2023  润新知