解析大型.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,弹出主文件编辑窗体。

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

 

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

 

 
posted @ 2015-08-25 08:46  信息化建设  阅读(1362)  评论(0编辑  收藏  举报