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,弹出主文件编辑窗体。

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

     

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

     

     
  • 相关阅读:
    如何使用腾讯位置服务地图选点组件?
    vue使用腾讯位置服务获取当前位置示例
    腾讯位置服务地址搜索&marker标记demo
    如何优雅接入腾讯地图SDK公交路线规划2?
    如何优雅接入腾讯地图SDK公交路线规划?
    地图SDK自定义路况和字体示例
    腾讯地图SDK自定义地图和路况示例
    手把手教你实现3D地图的定时高亮和点击事件
    vue实现坐标拾取器功能demo
    jmeter之安装ant
  • 原文地址:https://www.cnblogs.com/JamesLi2015/p/4756468.html
Copyright © 2011-2022 走看看