zoukankan      html  css  js  c++  java
  • 解析大型.NET ERP系统 查找与钻取

    查找 Lookup

    窗体是一个容器,也可以把TextBox,Button也看成是一个容器,可以往容器里面添加按钮。

    参考下面的实现代码,给TextBox增加查找按钮。

    var btn = new Button();
    btn.Size = new Size(25, txtOutputPath.ClientSize.Height + 2);
    btn.Location = new Point(txtOutputPath.ClientSize.Width - btn.Width, -1); 
    btn.Cursor = Cursors.Default;
    btn.Text = "...";
    btn.Click += new EventHandler(btn_Click);
    
    void btn_Click(object sender, EventArgs e)
    {
          using (FolderBrowserDialog dialog = new FolderBrowserDialog())
          {
                if (dialog.ShowDialog() == DialogResult.OK)
                       txtOutputPath.Text=dialog.SelectedPath;
          }
    }
     

    这样就实现了增加查找按钮的功能。再向前进一步,我们将查找窗体中的内容设计为可编辑的查找,即可实现查找功能。

    image

     

    钻取 Drilldown

    钻取是报表中产生的概念,由主表钻取到从表。在ERP系统中,支持数据的钻取。比如员工主文件中的部门,通过双击部门控件,可钻取到部门主文件,实现通过值的关联进入到它的编辑界面。

    image

    货币Ccy和付款条款Pay Terms控件值带有下划线,双击此下划线可跳转到它的编辑界面,上图中的例子就是分别进入货币主文件和付款条款主文件功能。

    对WPF技术,参考下面的连接实现,TextDecorations.Underline Property

    对WinForms技术,主要是为了设置控件的字体样式包含FontStyle.Underline样式,同时要捕获双击事件。

    DrillDownEvent   DrillDown....
    private void txtCcy_DoubleClick(object sender, EventArgs e) 
    { 
          if(DrillDown!=null)
              DrillDown(this,e);   
    } 

    对于Grid控件,捕获单元格Cell的双击事件DoubleClickCell,弹出主文件编辑窗体。

    将要打开的功能和参数值封装成一个类型,做成自定义控件,可复用代码。

     

    查找要与查询生成器结合才有威力,钻取需要与系统功能紧密集成,这两项功能为系统的可用性增色不少。

     

     
  • 相关阅读:
    uniapp 基于 flyio 的 http 请求封装
    微信小程序实现连续扫码功能(uniapp)
    定时器+echarts运行时间太长导致内存溢出页面崩溃
    vue2.0 + element ui 实现表格穿梭框
    js 不同时间格式介绍以及相互间的转换
    vue2.0+Element UI 表格前端分页和后端分页
    vue2.0 + Element UI + axios实现表格分页
    kafka能做什么?kafka集群配置 (卡夫卡 大数据)
    Java List和Map遍历的方法,forEach()的使用
    Flink 集群搭建,Standalone,集群部署,HA高可用部署
  • 原文地址:https://www.cnblogs.com/JamesLi2015/p/4756468.html
Copyright © 2011-2022 走看看