用input根据数据表搜索显示代码laravel框架_应用插架框架开发,提升效率和稳定性...

前面4篇文章给大家介绍了该插件框架的原理,今天给大家介绍利用框架来开发自己的软件,非常方便。喜欢的朋友请关注,并私发信息框架5,会给大家奉上今天的示例代码。后面介绍完成,会奉上整个框架的源码。

今天我们基于插件开发的功能就是对CUSTOMERS数据表的展示功能(数据的访问用了ELINQ,如果不熟悉的朋友可以用你熟悉的任何工具都可以,在上面有一个按钮customers,具有图标,若中心区已展示该数据,则该按钮不可用(灰色),否则为可用。左侧的导航栏中也增加快速按钮,和上面的按钮具有一样的功能。

7b57f5fedfc5767770caa7621d163c26.png

开发的功能

首先在解决方案中新增一个项目:NorthWind(类库项目),然后新建类文件:NorthWindCommand.cs,该类对应功能按钮。

namespace NorthWind

{

class NorthWindCommand:td.Core.AbstractToolButtonCommand

{

public override void Run()

{

var p = WorkBenchSingleTon.WorkBench.GetTabPage("Customers");

if (p == null)

{

NorthWindView view = new NorthWindView();

WorkBenchSingleTon.WorkBench.AddView(view);

}

}

public override bool IsEnabled

{

get

{

CustomPrincipal cp = (CustomPrincipal)Thread.CurrentPrincipal; ;

bool r = (cp.IsAuthorized("Test 1") || cp.IsInRole("Admin"));

return r&&( null== WorkBenchSingleTon.WorkBench.GetTabPage("Customers"));

}

set

{

base.IsEnabled = value;

}

}

}

}

从上面的代码可以看到,NorthWindCommand类继承于td.Core.AbstractToolButtonCommand,同时有一个覆写的函数Run,就是该按钮在被按下时需要执行的功能。在其中首先判断是否有一个名字叫做COUSTOMERS的TAB,如果没有,就创建它,否则什么都不用做(当然如果要完善一点,可以再判断该tab页是否处于最前,如果没有,就把他显示到最前,框架中提供有相应的API,可以直接调用)。

还有一个IsEnabled属性,用于设置该按钮什么时候有效,什么时候无效,可以看到示例中使用了2个条件,一是当前没有创建CUSTOMERS页面,同时还要具有相应的权限该按钮才有效。

回头来看如何创建TAB页面:

namespace NorthWind

{

class NorthWindView:td.Core.AbstractViewContent

{

NortWindControl control = new NortWindControl();

public override DevExpress.XtraEditors.XtraUserControl ViewContentControl

{

get { return control; }

}

public override string Title

{

get

{

return "Customers";

}

set

{

base.Title = value;

}

}

}

}

创建了一个NorthWindView,继承于AbstractViewContent,所有的TAB页面的内容展示,必须继承于该类,但是该类只会创建空的TAB,具体的控件由它的一个属性:ViewContentControl来确定,这个属性其实是一个自定义的控件,所以在这个TAB中实际只有一个控件,但是一个控件肯定无法满足我们的需求,所以这里一般都会是自定义控件,我们想怎么做就怎么做,具体可以参考代码,同时这个控件也是PUBLIC的,可以供其它的插件来访问。他还有一个Title属性,就是这个TAB页面的名字,用于框架区分每个TAB,即前面介绍到的判断是否有这个TAB,就是根据这个名字来确定的。

然后再创建自定义控件NortWindControl,画好后,在里面实现相应的数据显示就可以了(具体如何显示请大家自行实现,当然源码中也有相应的例子)。至此,我们的代码就结束了。

最后编译生成的DLL,将其放到框架文件夹中(OUTPUT目录),运行程序,并不会出我们期望的界面,还差配置插件,

打开软件,选择配置,选择运行时库,就是我们生成的DLL文件(功能所在的DLL),选择下面的添加按钮,找到DLL,添加即可,此时会在上面的列表中显示出来该DLL。

dad81c08b20b7ade190393e9b1c0153e.png

然后定位的工具按钮,选择新建,输入相应的信息,图标等,注意执行类必须包含完整的命名空间,当然程序中有处理,可以自己选择,点击浏览,会弹出选择对话框,选择我们生成的DLL,然后会自动反射出相应的类,选择功能按钮类,一般我们都取名为COMMAD,点击保存修改。注意不要选择新建保存,因为新建保存的功能是为了复制一个功能,然后进行修改时用的,请大家自行摸索一下吧。

4df061257fe7296c444215254fa7ab02.png

完成以上步骤后,保存配置,保存到框架目录下的addins.xml,这个文件是固定的,不能修改,关闭软件,重新打开软件,就会出现相应的按钮了。当然也可以直接修改配置文件,如果大家熟悉后,要添加多个功能时,直接在这个文件中进行修改会更快。

至此我们就完成了该功能的开发。示例代码中还有增加了一个PAD,功能,他可以获取到选中的列表中的行的信息。但是不需要修改框架和展示数据的插件的任何一行代码,就可以增加新的功能。如果大家需要,我可以单独写一篇介绍一下。

请喜欢的朋友关注我,私发信息框架5,获取今天的示例代码。如果有什么不清楚的可以留言。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值