[netMarketing类库] userUI的控件:扩展的dataGridViewEx, 和dataGridViewHelper帮助类介绍

ListviewEx, 和listViewHelper

前者是控件,后者是它的帮助类。通过帮助类,可以非常 简单的操作dataGridView控件或者本文讲的dataGridViewEx控件。


代码中的初始化,意义如下:

image.png


添加或者删除数据,仅仅是操作listViewHelper类内部维护的内存表

set.appendRowData(dgvHlper.DgvDataTableName, obj);


导出数据也是操作的内存表

  dgvHlper.DgvSet.dtWrite(dgvHlper.DgvSet.getTableNames()[0], "D:\\t1.csv");


演示程序运行界面如下:


可以看到显示内容做了飘红处理,这是因为listViewHelper初始化时做了数据上限下限的设定。


            dgvHlper = new dataGridViewHelper(this.dataGridViewEx1);
            dgvHlper.DataUpLimit = 1;
            dgvHlper.DataDnLimit = 0.1f;

image.png


源码如下:

namespace WindowsFormsApp1
{
    public partial class Form1 : Form
    {
        dataGridViewHelper dgvHlper = null;
        /// <summary>
        /// 数据文件字段名列表,用于CSV报表以及数据列表的显示
        /// </summary>
        public const string workDataFieldNames = "产品SN,视觉检测结果,工位,生产数据,记录时间";
        /// <summary>
        /// 字段名对应数据类型,用于CSV报表以及数据列表的显示
        /// </summary>
        public const string workDataFieldDataType = "string,string,string,string,string";


        public Form1()
        {
            InitializeComponent();
            dgvHlper = new dataGridViewHelper(this.dataGridViewEx1);
            dgvHlper.DataUpLimit = 1;
            dgvHlper.DataDnLimit = 0.1f;
        }


        private void initView(dataGridViewEx dview, string f, string arg1, string arg2)
        {
            if (dview.InvokeRequired)
            {
                Action<dataGridViewEx, string, string, string> act = initView;
                dview.Invoke(act, new object[] { dview, f, arg1, arg2 });
            }
            else
            {
                dgvHlper.Init(f, arg1, arg2);
            }
        }


        private void addOneRowData(dataGridViewEx grid, List<object> obj)
        {
            if (grid.InvokeRequired)
            {
                Action<dataGridViewEx, List<object>> act = addOneRowData;
                grid.Invoke(act, new object[] { grid, obj });
            }
            else
            {
                try
                {
                    var set = dgvHlper.DgvSet;
                    set.appendRowData(dgvHlper.DgvDataTableName, obj);
                    this.dataGridViewEx1.Update();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }

            }
        }

        private void 初始化表ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            initView(this.dataGridViewEx1, workDataFieldNames, workDataFieldDataType, workDataFieldNames);
        }

        private void dataGridViewEx1_RowStateChanged(object sender, DataGridViewRowStateChangedEventArgs e)
        {
            e.Row.HeaderCell.Value = string.Format("{0}", e.Row.Index + 1);
        }

        int j1 = 0;
        private void 添加一行数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var obj = new List<object>();
            ++j1;
            //产品SN,视觉检测结果,工位,生产数据,记录时间
            obj.Add($"SN00{j1}");
            obj.Add("OK");
            obj.Add("1");
            obj.Add("23.325");
            obj.Add(DateTime.Now.ToString());
            addOneRowData(this.dataGridViewEx1, obj);

        }

        private void 导出数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            dgvHlper.DgvSet.dtWrite(dgvHlper.DgvSet.getTableNames()[0], "D:\\t1.csv");
        }

        private void 删除指定行数据ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var tabName = dgvHlper.DgvSet.getTableNames()[0];
            dgvHlper.DgvSet.delRow(tabName,0);
        }

      
    }
}



本文的视频讲解如下:



之前写了一篇此控件的使用介绍,如下:

http://www.skcircle.com/?id=536

大家可以对照着参考。



本站收费下载:


扫码收费1元,勇哥用以支付本站服务器费用。


支付1元或购买VIP会员后,才能查看本内容!立即支付升级会员查询订单



--------------------- 

作者:hackpig
来源:
www.skcircle.com
版权声明:本文为博主原创文章,转载请附上博文链接!


本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年5月    »
12345
6789101112
13141516171819
20212223242526
2728293031
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864